rustlings 学习005 内置类型

  1. 整形
    1.1. 溢出
    1.2. let x = 21;默认是 i32
  2. 浮点数
    2.1. 陷阱
    2.2. NaN
  3. 数字运算
  4. 位运算
  5. 序列
  6. 使用As 进行类型转换
  7. 字符
  8. bool
  9. 单元类型 ()
  10. 数组
    10.1 let arr = vec![1,2,3];
    10.2 let slice = &arr[1..2]; 其中为什么一定要加& ai 的解释如下
    10.2.1. Rust 的设计选择强调了显式性和所有权模型。在 Rust 中,& 符号不仅仅表示引用,它还表示借用。当你创建一个切片时,你实际上是借用了数组的一部分。这是 Rust 所有权模型的一部分,这个模型有助于防止数据竞争和其他并发问题。
    显式地表示了 slicearr 的一部分的借用。这意味着 slice 可以读取 arr 的这部分数据,但不能修改它(除非 arr 是可变的,并且你使用了 &mut 来创建一个可变引用)。
    这种显式性有几个好处。首先,它使得代码的意图更加清晰。当你看到 & 符号时,你知道这个变量是一个引用,而不是拥有自己的数据。其次,它有助于 Rust 的编译器检查你的代码是否遵守所有权规则。如果你试图修改一个你没有权限修改的数据,或者在数据还在被引用的时候删除它,Rust 的编译器会给出错误。
    总的来说,虽然这可能使得 Rust 的语法看起来比一些其他语言更复杂,但这种设计选择有助于提高代码的安全性和清晰性。
    10.3 类型定义 [T;len]
    10.4 初始化为同一值 [3;100] 初始化100个3
  11. 切片
    11.1. 语法 let slice[T] = &arr[..]
  12. 元组
    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;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容