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的学习就有点停滞了,趁着五一假期再看看;