Rust 中的整型
| 长度 | 有符号 | 无符号 |
|---|---|---|
| 8-bit | i8 |
u8 |
| 16-bit | i16 |
u16 |
| 32-bit | i32 |
u32 |
| 64-bit | i64 |
u64 |
| 128-bit | i128 |
u128 |
| arch | isize |
usize |
每一个有符号的变体可以储存包含从 -(2) 到 2 - 1 在内的数字,这里 n 是变体使用的位数。所以 i8 可以储存从 -(2) 到 2 - 1 在内的数字,也就是从 -128 到 127。无符号的变体可以储存从 0 到 2 - 1 的数字,所以 u8 可以储存从 0 到 2 - 1 的数字,也就是从 0 到 255。
另外,isize 和 usize 类型依赖运行程序的计算机架构:64 位架构上它们是 64 位的, 32 位架构上它们是 32 位的。
可以使用表格 3-2 中的任何一种形式编写数字字面值。注意除 byte 以外的所有数字字面值允许使用类型后缀,例如 57u8,同时也允许使用 _ 做为分隔符以方便读数,例如1_000。
let x = 96u8;let x: u8 = 96;let y = 57u32;let y: u32 = 57;let z = 1_000;
Rust 中的整型字面值
| 数字字面值 | 例子 |
|---|---|
| Decimal | 98_222 |
| Hex | 0xff |
| Octal | 0o77 |
| Binary | 0b1111_0000 |
Byte (u8 only) |
b'A' |
Rust 浮点型
Rust 的浮点数类型是 f32 和 f64,分别占 32 位和 64 位。默认类型是 f64f32 是单精度浮点数,f64 是双精度浮点数。
let x = 2.0; // f64let y: f32 = 3.0; // f32
数值运算
// 加法let sum = 5 + 10;// 减法let difference = 95.5 - 4.3;// 乘法let product = 4 * 30;// 除法let quotient = 56.7 / 32.2;// 取余let remainder = 43 % 5;
布尔类型使用 bool 表示
let t = true;let f: bool = false; // 显式指定类型注解
Rust 的 char 类型是语言中最原生的字母类型,如下代码展示了如何使用它。(注意 char 由单引号指定,不同于字符串使用双引号。)
let c = 'z';let z = 'ℤ';let heart_eyed_cat = '😻';
