固定取值范围的类型:
无符号整数:
- u8 数值为0 - 2? -1 1个字节 u8 类型通常表示字节序列。在文件I/O或网络I/O中读取数据流时需要使用u8。
- u16 数值为0- 21?-1 2个字节
- u32 数值为0- 232-1 4个字节
- u64 数值为0- 2??-1 8个字节
- u128 数值为0- 212?-1 16个字节
符号整数:
- i8 数值为-2? - 2? -1 1个字节
- i16 数值为-21?- 21?-1 2个字节
- i32 数值为-231- 231-1 4个字节
- i64 数值为-2?3- 2?3-1 8个字节
- i128 数值为-212?- 212?-1 16个字节
动态取值范围类型:
usize: 数字范围 0 - 232-1 或 0 - 2??-1 ,占用4个或8个字节,具体取决于机器的字长。
isize:数字范围 -231- 231-1或 -2?3- 2?3-1,占用4个或8个字节,具体取决于机器的字长。
浮点数类型:
f32, 单精度32位浮点数,至少6位有效数字,数值范围-3.4 X 103? - 3.4 X 103?
f64, 双精度64位浮点数,至少15位有效数字,数值范围-1.8 X 103?? - 1.8 X 103??
数字字面量后面可以直接使用类型后缀,比如42u32,代表这是一个u32类型如果不加制定类型,Rust编译器会默认推断数字为i32类型
0x,0o和0b分别表示十六进制、八进制、二进制类型。
Rust中也可以写字节字面量,比如b开头的字符b‘*‘,他实际等价于42u8
浮点数也可以家类型后缀,如果没有默认浮点数为f64, std::f32和std::f64提供了IEEE所需的特殊常量值、比如INFINITY无穷大,NEG_INFINITY负无穷大,NAN非数字值,MIN最小有限值,MAX最大有限值