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
.