Tipos Básicos
Os tipos escalares principais do Rust são inteiros (i32, u32, i64, e outros dimensionados por largura de bits e se têm sinal), números de ponto flutuante (f64 por padrão, f32 disponível), bool, e char. Toda variável tem um tipo, conhecido em tempo de compilação, seja você o escreva explicitamente ou não.
fn main() {
let age: i32 = 30;
let price: f64 = 19.99;
let is_student: bool = false;
let grade: char = 'A';
println!("{} {} {} {}", age, price, is_student, grade);
}30 19.99 false A
Inferência de tipos
Você raramente precisa anotar cada variável — o Rust infere um tipo a partir do valor e de como ele é usado, e ainda assim o aplica exatamente como se você mesmo tivesse escrito a anotação. count abaixo é inferido como i32 (o tipo inteiro padrão do Rust) e pi como f64 (seu tipo de ponto flutuante padrão).
fn main() {
let count = 42; // inferred as i32
let pi = 3.14159; // inferred as f64
println!("{} {}", count, pi);
}42 3.14159
Próximo: ownership — a regra que torna possível a segurança de memória do Rust, e que não tem um equivalente real em Python, JavaScript, ou TypeScript.
Practice Exercise
Declare uma variável temperature: f64 = 72.5 e uma variável is_sunny: bool = true. Imprima-as juntas com println!("{} {}", temperature, is_sunny).