数组

数组可分为固定长度数组和可变长度数组

不可变数组

  1. // 声明方式
  2. let a = [0,1,2,3,4];
  3. let a =[3;5]; // 声明一个长度为5且值全为3的数组
  4. let a:[i32;10] = [1,2,3,4,5,6,7,8,9,10] // 声明一个长度为10且值类型为i32的数组

数组中某一个数值的获取,可以使用数组[下标]的方式获取,也可以使用切片的方式获取

  1. let a =[0,1,2,3,5,4];
  2. let a_0 = a[0];
  3. let a_23 = a[1..4];

动态数组

  1. // 声明数组
  2. // 数组长度未知的情况下
  3. // 使用这种方式需声明数组的类型
  4. let arr:Vec<i32> = Vec::new();
  5. // 更新数组
  6. arr.push(100);

数组中的属性访问

  1. // 使用下标的方式访问
  2. let arr = vec![1,0,3,6,4];
  3. println!("{}",&arr[0]); // 输出1
  4. println!("{:?}",&arr.get(0)); // 此处输出一个Option<T> 需要解构
  5. match arr.get(2) {
  6. Some(third) => println!("第三个元素是 {}", third),
  7. None => println!("去你的第三个元素,根本没有!"),
  8. }