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
,uN
efN
tĂȘm N bits,isize
eusize
sĂŁo do tamanho de um ponteiro,char
tem 32 bits,bool
tem 8 bits.
HĂĄ algumas sintaxes que nĂŁo sĂŁo mostradas acima:
-
Strings brutas permitem que vocĂȘ crie um valor
&str
com 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_000
pode ser escrito como1000
(ou10_00
), e123_i64
pode ser escrito como123i64
.