O Rust possui uma rica coleção de tipos primitivos (Primitives), divididos em duas categorias principais: tipos escalares e tipos compostos.
(1) Tipos escalares (Scalar Types)
Representam um único valor independente, existem 6 categorias:
- Inteiros com sinal :
i8,i16,i32,i64,i128,isize(tamanho adaptado ao ponteiro do sistema) - Inteiros sem sinal :
u8,u16,u32,u64,u128,usize(tamanho adaptado ao ponteiro do sistema) - Ponto flutuante :
f32,f64 - Caractere char : armazena valores escalares Unicode (ex:
'a','α','∞'), cada caractere ocupa 4 bytes - Booleano bool : apenas dois valores possíveis
true,false - Tipo unitário () : seu único valor é a tupla vazia
(). Embora tenha formato de tupla, contém apenas um valor, então não é classificado como tipo composto.
(2) Tipos compostos (Compound Types) (serão estudados no final)
Formados pela combinação de vários valores:
- Vetor / Array : exemplo
[1, 2, 3] - Tupla : exemplo
(1, true)
1) Formas de anotar o tipo de uma variável
Todas as variáveis podem ter seu tipo definido manualmente. Os tipos numéricos aceitam sufixos de tipo adicionais; sem anotação, um tipo padrão é usado:
- Inteiro padrão:
i32 - Flutuante padrão:
f64
O Rust também consegue deduzir o tipo automaticamente de acordo com o contexto do código.
2) Tipos de variáveis
1. Anotação explícita de tipo
Especifique diretamente o tipo após o nome da variável com : tipo, válido para todas as variáveis.
fn main() {
let isOpen: bool = true;
let price: f64 = 1.0;
}Code language: JavaScript (javascript)
No exemplo acima, isOpen e price são variáveis; o trecho : nome_do_tipo após o nome declara explicitamente o tipo da variável.
2. Anotação por sufixo numérico
Adicione um sufixo de tipo após o valor numérico para definir seu tipo, funciona apenas com números.
<pre class=”wp-block