Tipos | Rust
- Tipos | Rust
Tipos Primitivos em Rust
| Categoria | Tipo | Descrição |
|---|---|---|
| Numéricos | i8, i16, i32, i64, i128, isize | Inteiros com sinal (8 a 128 bits ou dependente do tamanho do sistema |
u8, u16, u32, u64, u128, usize | Inteiros sem sinal (8 a 128 bits ou dependente do tamanho do sistema | |
f32, f64 | Números de ponto flutuante (32 ou 64 bits). | |
| Booleanos | bool | Representa valores booleanos: true ou false. |
| Caracteres | char | Representa um único caractere Unicode (4 bytes). |
| Tuplas | (T1, T2, ...) | Agrupamento de valores de tipos diferentes. |
| Arrays | [T; N] | Coleção de elementos do mesmo tipo com tamanho fixo. |
| Fat Pointers | &str | String imutável (fatiada). |
[T] | Fatiamento de arrays. |
Tipos Compostos e Especiais
| Categoria | Tipo | Descrição |
|---|---|---|
| Strings | String | String alocada dinamicamente. |
| Referências | &T, &mut T | Referências imutáveis e mutáveis. |
| Ponteiros | *const T, *mut T | Ponteiros brutos (não seguros). |
| Enums | enum | Tipo que pode ter variantes nomeadas. |
| Structs | struct | Tipo composto com campos nomeados. |
| Option | Option<T> | Representa um valor que pode ser Some(T) ou None. |
| Result | Result<T, E> | Representa sucesso (Ok(T)) ou erro (Err(E)). |
| Slices | &[T] | Referência a uma parte de um array ou vetor. |
| Vetores | Vec<T> | Coleção dinâmica de elementos do mesmo tipo. |
Tipos de Funções e Closures
| Categoria | Tipo | Descrição |
|---|---|---|
| Funções | fn | Tipo de função. |
| Closures | Fn, FnMut, FnOnce | Tipos de closures com diferentes capacidades de captura. |
Tipos de Sistema e Outros
| Categoria | Tipo | Descrição |
|---|---|---|
| Unidades | () | Tipo unitário (sem valor). |
| Raw Types | ! | Tipo "never", usado para funções que nunca retornam. |
| Casts | as | Conversão explícita entre tipos. |