RUST——数据类型
RUST中文官方教程【Link】
1. 标量数据类型
1.1 整型
| 长度 | 有符号 | 无符号 |
|---|---|---|
| 8-bit | i8 | u8 |
| 16-bit | i16 | u16 |
| 32-bit(默认类型) | i32 | u32 |
| 64-bit | i64 | u64 |
| 126-bit | i128 | u128 |
| arch | isize | usize |
其中in存储的是\([-2^{(n-1)},2^{(n-1)}-1]\)之间的整数,un存储的是\([0,2^{n}-1]\)之间的整数;
另外,isize 和 usize 类型依赖运行程序的计算机架构:64 位架构上它们是 64 位的,32 位架构上它们是 32 位的;
可以用这些un或者in作为整数的后缀来指定整数的类型,比如57u8;
允许使用_作为分隔符方便读数,比如1_000的值于指定的1000相同
1.1.1 整型的字面值
| 数字字面值 | 例子 |
|---|---|
| Decimal (十进制) | 98_222 |
| Hex (十六进制) | 0xff |
| Octal (八进制) | 0o77 |
| Binary (二进制) | 0b1111_0000 |
| Byte (单字节字符)(仅限于u8) | b'A' |
1.2 浮点型
浮点数采用 IEEE-754 标准表示:
f32-单精度浮点数
f64-双精度浮点数
默认浮点数是f64的
fn main() {
let x = 2.0; // f64
let y: f32 = 3.0; // f32
}
1.3 布尔型
bool,值为true或者false,和cpp类似
1.4 字符类型
char类型,这里不举例了,值得一提的是rust有一些自带的可爱的特定字符值
2. 复合类型
可以将多个值组合成一个类型。Rust有两个原生复合类型:元组(yuple)和数组(array);
2.1 元组类型
元组是一个将多个其他类型的值组合进一个复合类型的主要方式。元组长度固定:一旦声明,其长度不会增大或缩小。
我们使用包含在圆括号中的逗号分隔的值列表来创建一个元组。元组中的每一个位置都有一个类型,而且这些不同值的类型也不必是相同的。
fn main() {
let x: (i32, f64, u8) = (500, 6.4, 1);
let five_hundred = x.0;
let six_point_four = x.1;
let one = x.2;
//但是直接输出println!({x.0});报错
}
2.2 数组类型
另一个包含多个值的方式是 数组(array)。与元组不同,数组中的每个元素的类型必须相同。Rust 中的数组与一些其他语言中的数组不同,Rust 中的数组长度是固定的。
fn main() {
let a = [1, 2, 3, 4, 5];
let months = ["January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"];
let a: [i32; 5] = [1, 2, 3, 4, 5];//创建i32的数量为5个的数组
let a = [3; 5];//等价于创建了长度为5,初始值为3的数组
}
访问数组元素,同cpp,不可越界访问:
fn main() {
let a = [1, 2, 3, 4, 5];
let first = a[0];
let second = a[1];
}
本文来自博客园,作者:理想国的糕,转载请注明原文链接:https://www.cnblogs.com/SaltyCheese/p/17302188.html嗷~

浙公网安备 33010602011771号