标量类型
类型 | 字面量 | |
---|---|---|
有符号整数 | 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
占用一个指针大小的空间,char
is 32 bits wide,bool
is 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”。