- 整形
1.1. 溢出
1.2. let x = 21;默认是 i32 - 浮点数
2.1. 陷阱
2.2. NaN - 数字运算
- 位运算
- 序列
- 使用As 进行类型转换
- 字符
- bool
- 单元类型 ()
- 数组
10.1 let arr = vec![1,2,3];
10.2 let slice = &arr[1..2]; 其中为什么一定要加& ai 的解释如下
10.2.1. Rust 的设计选择强调了显式性和所有权模型。在 Rust 中,&
符号不仅仅表示引用,它还表示借用。当你创建一个切片时,你实际上是借用了数组的一部分。这是 Rust 所有权模型的一部分,这个模型有助于防止数据竞争和其他并发问题。
显式地表示了slice
是arr
的一部分的借用。这意味着slice
可以读取arr
的这部分数据,但不能修改它(除非arr
是可变的,并且你使用了&mut
来创建一个可变引用)。
这种显式性有几个好处。首先,它使得代码的意图更加清晰。当你看到&
符号时,你知道这个变量是一个引用,而不是拥有自己的数据。其次,它有助于 Rust 的编译器检查你的代码是否遵守所有权规则。如果你试图修改一个你没有权限修改的数据,或者在数据还在被引用的时候删除它,Rust 的编译器会给出错误。
总的来说,虽然这可能使得 Rust 的语法看起来比一些其他语言更复杂,但这种设计选择有助于提高代码的安全性和清晰性。
10.3 类型定义 [T;len]
10.4 初始化为同一值 [3;100] 初始化100个3 - 切片
11.1. 语法 let slice[T] = &arr[..] - 元组
12.1. 解构
fn main() {
let (x, y, z);
// 填空
(y,z,x) = (1, 2, 3);
assert_eq!(x, 3);
assert_eq!(y, 1);
assert_eq!(z, 2);
}
12.2
let nums=(1,2,3);
let second = nums.1;