Rust中的数据类型
Rust中的数据类型主要分为两种:
- 标量数据类型
- 复合数据类型
标量数据类型
在其他语言里,如C语言,则称标量数据类型为基本数据类型,就是包含整型、浮点型、字符类型等。在Rust中的标量数据类型也差不多是这些。
整型
是一个没有小数部分的数字。
长度 | 有符号 | 无符号 |
---|---|---|
8-bit | i8 |
u8 |
16-bit | i16 |
u16 |
32-bit | i32 |
u32 |
64-bit | i64 |
u64 |
128-bit | i128 |
u128 |
arch | isize |
usize |
其中i是integer
的意思,u是unsigned integer
的意思。
因为学Rust的同学基本都学过C语言了,所以这些非常非常基础的东西就不再累赘了,因为都差不多的,一些差异的内容需要补充的可以到Rust官网中查看。Rust官方文档:数据类型 - Rust 程序设计语言 简体中文版 (kaisery.github.io).
浮点数
对应C语言的float和double类型。
默认是f64即默认是双精度浮点型。
Rust | C |
---|---|
f32 | float |
f64 | double |
Rust的符号表可查看Rust官方文档:B - 运算符与符号 - Rust 程序设计语言 简体中文版 (kaisery.github.io).
字符类型
对应C语言的char,在Rust里也是以char为关键字。
fn main() {
let c = 'z';
let z: char = 'ℤ'; // with explicit type annotation
let heart_eyed_cat = '😻';
}
Rust的字符默认使用Unicode编码,C语言一般是使用ASCII编码(这个由编辑器决定,有些地方出现乱码是因为编辑器使用的编码和终端显示的编码不对应导致的)。
复合数据类型
复合类型(Compound types)可以将多个值组合成一个类型。Rust 有两个原生的复合类型:元组(tuple)和数组(array)。
元组
元组是一个将多个其他类型的值组合进一个复合类型的主要方式。元组长度固定:一旦声明,其长度不会