标量类型
| 类型 | 字面量 | |
|---|---|---|
| 有符号整数 | i8, i16, i32, i64, i128, isize | -10, 0, 1_000, 123_i64 |
| 无符号整数 | u8, u16, u32, u64, u128, usize | 0, 123, 10_u16 |
| 浮点数 | f32, f64 | 3.14, -10.0e20, 2_f32 |
| 字符串 | &str | "foo", "two\nlines" |
| Unicode 标量类型 | char | 'a', 'α', '∞' |
| 布尔值 | bool | true, false |
各类型占用的空间为:
iN,uN和fN占用 N 位,isize和usize占用一个指针大小的空间,charis 32 bits wide,boolis 8 bits wide.
上表中还有一些未提及的语法:
-
原始字符串可在创建
&str时禁用转义:r"\n" == "\\n"。可以在外层引号两侧添加相同数量的#,以在字符串中嵌入双引号:fn main() { println!(r#"<a href="link.html">link</a>"#); println!("<a href=\"link.html\">link</a>"); } -
字节串可以用于直接创建
&[u8]类型的值:fn main() { println!("{:?}", b"abc"); println!("{:?}", &[97, 98, 99]); } -
数字中的所有下划线均可忽略,它们只是为了方便辨识。因此,“1_000”可以写为“1000”(或“10_00”),而“123_i64”可以写为“123i64”。