Tipos Escalares
| Tipos | Literais | |
|---|---|---|
| Inteiros com sinal | i8, i16, i32, i64, i128, isize | -10, 0, 1_000, 123_i64 |
| Inteiros sem sinal | u8, u16, u32, u64, u128, usize | 0, 123, 10_u16 |
| NĂșmeros de ponto flutuante | f32, f64 | 3.14, -10.0e20, 2_f32 |
| Strings | &str | "foo", "two\nlines" |
| Valores escalares Unicode | char | 'a', 'α', 'â' |
| Booleanos | bool | true, false |
Os tipos tĂȘm os seguintes tamanhos:
iN,uNefNtĂȘm N bits,isizeeusizesĂŁo do tamanho de um ponteiro,chartem 32 bits,booltem 8 bits.
HĂĄ algumas sintaxes que nĂŁo sĂŁo mostradas acima:
-
Strings brutas permitem que vocĂȘ crie um valor
&strcom caracteres de escape desabilitados:r"\n" == "\\n". VocĂȘ pode embutir aspas duplas utilizando uma quantidade igual de#em Ambos os lados das aspas:fn main() { println!(r#"<a href="link.html">link</a>"#); println!("<a href=\"link.html\">link</a>"); } -
Strings de byte permitem que vocĂȘ crie um valor
&[u8]diretamente:fn main() { println!("{:?}", b"abc"); println!("{:?}", &[97, 98, 99]); } -
Todos os sublinhados em nĂșmeros podem ser omitidos, eles sĂŁo apenas para legibilidade. Por exemplo,
1_000pode ser escrito como1000(ou10_00), e123_i64pode ser escrito como123i64.