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 位。默认类型是 f64
f32
是单精度浮点数,f64
是双精度浮点数。
let x = 2.0; // f64
let 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 = '😻';