rust 数据类型
cinob 8/20/2021 rust
# 标量类型(scalar)
- 整数类型
长度 | 有符号[-2^(n-1) , 2^(n-1) - 1] | 无符号 [0 , 2n - 1] |
---|---|---|
8-bit | i8 | u8 |
16-bit | i16 | u16 |
32-bit | i32 | u32 |
64-bit | i64 | u64 |
arch | isize | usize |
isize, usize取决于程序运行的目标平台; 在64位架构上,它们就是64位的,而在32位架构上,它们就是32位的
浮点数类型
- f32 单精度浮点数, f64 双精度浮点数;
fn main() { let x = 2.0; // f64 默认 let y: f32 = 3.0; // f32 }
1
2
3
4布尔类型
- 占据单个字节的空间大小
fn main() { let t = true; let f:bool = false; }
1
2
3
4字符类型
- char 类型 占4字节,是一个Unicode标量值, 使用单引号指定
fn main() { let a = 'aaa'; let b = ''; }
1
2
3
4
# 复合类型(compound)
元组(tuple)
- 固定长度,可以由不同类型的多个值组合
fn main() { let tup: (i32, f64, u8) = (-500, 50.2, 5); // 解构元组 let (a, b, _c) = tup; // 元组的索引使用.语法 println!("a: {}, b: {}, c: {}", a, b, tup.2); }
1
2
3
4
5
6
7数组类型(array)
- 固定长度,每个元素类型相同
fn main() { let arr = [1, 2, 3, 4]; println!("first: {}", arr[0]); let same = [6; 3]; // 等同于 [6, 6, 6] }
1
2
3
4
5
6