rust 数据类型
Rust 基础数据类型有以下这几大类:
整数型
整数型简称整型,按照比特位长度和有无符号分为以下种类:
| 位长度 | 有符号 | 无符号 |
|---|---|---|
| 8-bit | i8 | u8 |
| 16-bit | i16 | u16 |
| 32-bit | i32 | u35 |
| 64-bit | i64 | u64 |
| 128-bit | i128 | u128 |
| arch | isize | usize |
类型定义的形式统一为:有无符号 + 类型大小(位数)。无符号数表示数字只能取正数和 0,而有符号则表示数字可以取正数、负数还有 0。
此外,isize 和 usize 类型取决于程序运行的计算机 CPU 类型: 若 CPU 是 32 位的,则这两个类型是 32 位的,同理,若 CPU 是 64 位,那么它们则是 64 位。
浮点数型
浮点类型数字 是带有小数点的数字,在 Rust 中浮点类型数字也有两种基本类型: f32 和 f64,分别为 32 位和 64 位大小。默认浮点类型是 f64,在现代的 CPU 中它的速度与 f32 几乎相同,但精度更高。
| 位长度 | 符号 |
|---|---|
| 32-bit | f32 |
| 64-bit | f64 |
布尔类型
Rust 中的布尔类型有两个可能的值:true 和 false,布尔值占用内存的大小为 1 个字节
字符类型
Rust中字符会比较特殊一些,不仅仅是 ASCII,所有的 Unicode 值都可以作为 Rust 字符, 由于 Unicode 都是 4 个字节编码,因此字符类型也是占用 4 个字节;
单元类型
单元类型就是 () ,唯一的值也是 () ,有点像kotlin中的Unit, 没有返回值的函数会返回(), 目前的理解是这样,后续有其他的理解再改.
ps: 最近应公司要求忙着搞安卓,算是带薪学习,不学白不学; 然后 rust的学习就有点停滞了,趁着五一假期再看看;