Tipos escalares
Tipos | Literales | |
---|---|---|
Enteros con signo | i8 , i16 , i32 , i64 , i128 , isize | -10 , 0 , 1_000 , 123_i64 |
Enteros sin signo | u8 , u16 , u32 , u64 , u128 , usize | 0 , 123 , 10_u16 |
Números de coma flotante | f32 , f64 | 3.14 , -10.0e20 , 2_f32 |
Cadenas de texto (Strings) | &str | "foo" , "two\nlines" |
Valores escalares Unicode | char | 'a' , 'α' , '∞' |
Booleanos | bool | true , false |
Los tipos tienen la siguiente anchura:
iN
,uN
, andfN
son N bits de capacidad,isize
yusize
tienen el ancho de un puntero,char
tiene un tamaño de 32 bits,bool
tiene 8 bits de ancho.
Hay algunas sintaxis que no se han mostrado anteriormente:
-
Las cadenas sin formato te permiten crear un valor
&str
con los escapes inhabilitados:r"\n" == "\\n"
. Puedes insertar comillas dobles con la misma cantidad de#
a cada lado de ellas:fn main() { println!(r#"<a href="link.html">link</a>"#); println!("<a href=\"link.html\">link</a>"); }
-
Las cadenas de bytes te permiten crear un valor
&[u8]
directamente:fn main() { println!("{:?}", b"abc"); println!("{:?}", &[97, 98, 99]); }
-
Todos guiones bajos en los números pueden no utilizarse, ya que solo sirven para facilitar la lectura. Por lo tanto,
1_000
se puede escribir como1000
(o10_00
), y123_i64
se puede escribir como123i64
.