Appearance
数据类型
rust里分成两种类型:标量类型,复合类型。
编译器能够自己推断类型,但如果可能的结果较多,编译器会报错,此时需要显式赋予类型
标量类型,表示单个的值:整数类型、浮点类型、布尔类型、字符类型
值得说的是字符类型。Rust中char类型用来描述语言中最基础的单个字符,字面值使用单引号,占用4字节大小,是Unicode标量值,能够表示拼音、中日韩文、零长度空白字符、emoji表情等。
整数型(integer)
| 位长 | 有符号 | 无符号 |
|---|---|---|
| 类型 | 大小 | 范围 |
| 8位 | i8 | u8 |
| 16位 | i16 | u16 |
| 32位 | i32 | u32 |
| 64位 | i64 | u64 |
| 128位 | i128 | u128 |
| 指针大小 | isize | usize |
isize 和 usize 两种整数类型是用来衡量数据大小的,它们的位长度取决于所运行的目标平台,如果是 32 位架构的处理器将使用 32 位位长度整型。
进制表示
Rust支持二进制、八进制、十进制、十六进制四种进制表示,分别以0b、0o、0、0x开头。
rust
let binary = 0b1010;
let octal = 0o755;
let decimal = 0;
let hex = 0x1A;用下划线分隔数字,提高可读性。
rust
let num = 1_000_000; // 十进制
let num = 0b1_000_000; // 二进制
let num = 0o7_55; // 八进制
let num = 0x1A; // 十六进制浮点数型(Floating-Point)
Rust使用f32和f64两种浮点数类型,分别对应单精度和双精度浮点数。
rust
let x = 2.5_f32;
let y = 3.14_f64;
// let x32: f32 = 2.5;
// let x64: f64 = 3.14;布尔
Rust使用bool类型表示布尔值,true和false。
rust
let is_true = true;
let is_false = false;