文章目录
- 1、整型
- 1.1 所有数字字面量,可以在任意地方添加下划线_
- 1.2 字面量可以跟类型后缀,表示具体类型
- 1.3 直接对整型字面量调用函数
- 1.4 整数溢出
- 2、浮点数
- 3、布尔类型
- 4、字符类型
- 4.1、用字符u8类型表示字符
1、整型
表示没有小数部分的数字,分为有符号(以 i 开头)和无符号(以 u 开头)整型。
整型类型的默认类型是 i32,它通常是最快的。
长度 | 8位 | 16位 | 32位 | 64位 | 128位 | arch |
---|---|---|---|---|---|---|
有符号 | i8 | i16 | i32 | i64 | i128 | isize |
无符号 | u8 | u16 | u32 | u64 | u128 | usize |
每一个有符号的整型可以储存包含从 -(2n-1) 到 2n−1 - 1 在内的数字,这里 n 是整型定义的长度。所以 i8 可以储存从 -27到 27 - 1 在内的数字,也就是从 -128 到 127。无符号的变体可以储存从 0 到 2n−1 的数字,所以 u8 可以储存从 0 到 28−1的数字,也就是从 0 到 255。
另外,isize 和 usize 类型依赖运行程序的计算机架构:64 位架构上它们是 64 位的, 32 位架构上它们是 32 位的。
1.1 所有数字字面量,可以在任意地方添加下划线_
1234_5678、1_2_3_4_5_6_7_8、12_345_678 都合法的字面量,都表示数12345678。
1.2 字面量可以跟类型后缀,表示具体类型
123i32中的i32表示123为32位有符号整数。
1.3 直接对整型字面量调用函数
如
let x : i32 = 9;
x.pow(3));//直接调用pow函数
1.4 整数溢出
Rust 对于整数溢出的处理方式如下:
①、默认情况下,在debug模式下编译器会自动插入整数溢出检查,一旦发生溢出,则会引发 panic;
②、在 release 模式下,不检查整数溢出,而是自动舍弃高位的方式。
2、浮点数
Rust 有两个原生的 浮点数(floating-point numbers)类型,它们是带小数点的数字。是基于 IEEE 754-2008 标准的浮点类型,分别是 f32 和 f64,分别占 32 位和 64 位。默认类型是 f64,因为在现代 CPU 中,它与 f32 速度几乎一样,不过精度更高。如123.0f32、0.1f64。
3、布尔类型
布尔类型(bool)代表的是“是”和“否”的二值逻辑。对应有两个值:true和false。
可以执行“与”“或”“非”等运算,如:
let x = true;let y = !x;//取反运算let z = x && y;//逻辑与,带短路功能let z = x || y;//逻辑或,带短路功能
4、字符类型
字符类型由 char 表示,占用32位。它可以描述任何一个符合 unicode 标准的字符值。在代码中,单个的字符字面量用单引号包围,如 ‘A’。
4.1、用字符u8类型表示字符
Rust 提供了单字节字符字面量来表示 ASCII 字符。它通过一个字母 b 在字符或者字符串前面,代表这个字面量存储在 u8 类型数组中,这样占用空间比 char 型数组要小一些。如 b’A’。