ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【Rust入门知识点学与练】第8课:数组和切片

【Rust入门知识点学与练】第8课:数组和切片 知识点数组Array和切片Slicefn main() { // 数组固定长度元素类型相同 let numbers: [i32; 5] [10, 20, 30, 40, 50]; // 通过索引访问从0开始 println!(第一个: {}, numbers[0]); // 10 println!(最后一个: {}, numbers[4]); // 50 // 数组长度 println!(长度: {}, numbers.len()); // 5 // 用 for 遍历数组 for n in numbers { print!({} , n); // 10 20 30 40 50 } println!(); // 可变数组 let mut scores [0, 0, 0]; scores[1] 100; println!({:?}, scores); // [0, 100, 0] // 切片引用数组的一部分 [起始..结束]不含结束 let slice numbers[1..3]; // [20, 30] println!({:?}, slice); // 切片也可以遍历 for s in slice { print!({} , s); // 20 30 } println!(); // 快速创建重复数组 let zeros [0; 5]; // [0, 0, 0, 0, 0] println!({:?}, zeros); }核心规则要点 说明定义 let arr: [i32; 3] [1, 2, 3];访问 arr[0]索引从0开始长度 arr.len()遍历 for x in arr { … }切片 arr[1…3]取索引1和2重复创建 [0; 5] → [0, 0, 0, 0, 0]打印 println!(“{:?}”, arr)动手试试补全下面的代码fn main() { // 补全定义一个数组 scores包含 [85, 92, 78, 96, 88] // 用 for 循环计算总分并打印 // 期望输出: 总分: 439 // 补全定义一个可变数组 arr初始值为 [1, 2, 3, 4, 5] // 把 arr[2] 改成 99 // 用 {:?} 打印 arr // 期望输出: [1, 2, 99, 4, 5] // 补全对上面的 arr 取切片 arr[1..4] // 用 for 循环遍历切片并打印每个元素每个一行 // 期望输出: // 2 // 99 // 4 // 补全用 [0; 4] 创建一个全零数组打印它 // 期望输出: [0, 0, 0, 0] }期望输出总分: 439[1, 2, 99, 4, 5]2994[0, 0, 0, 0]写好了贴过来没问题就进入第9课Vec 动态数组 贴代码fn main() { // 补全定义一个数组 scores包含 [85, 92, 78, 96, 88] // 用 for 循环计算总分并打印 // 期望输出: 总分: 439 let scores [85, 92, 78, 96, 88]; let mut total 0; for s in scores { total s; } println!(总分: {}, total); // 补全定义一个可变数组 arr初始值为 [1, 2, 3, 4, 5] // 把 arr[2] 改成 99 // 用 {:?} 打印 arr // 期望输出: [1, 2, 99, 4, 5] let mut arr [1, 2, 3, 4, 5]; arr[2] 99; println!({:?}, arr); // 补全对上面的 arr 取切片 arr[1..4] // 用 for 循环遍历切片并打印每个元素每个一行 // 期望输出: // 2 // 99 // 4 for num in arr[1..4] { println!({}, num); } // 补全用 [0; 4] 创建一个全零数组打印它 // 期望输出: [0, 0, 0, 0] let zero_arr [0; 4]; println!({:?}, zero_arr); }评语完全正确你掌握了数组的定义、访问、修改for 遍历数组和切片切片的取值范围 [start…end][值; 数量] 快速创建重复数组知识点讲解数组长度固定类型统一。修改数组内容变量必须加 mut 。​索引 arr[2] 下标从0开始。​切片 arr[1…4] 左闭右开取索引 1、2、3不包含4。​遍历切片的时候要用 arr[1…4] 借用避免所有权移动报错。​Debug格式化 {:?} 数组、元组需要用 {:?} 才能直接打印 {} 不行。​数组初始化语法 [0;4] 代表4个元素全部初始化为0。对比​元组元素类型可以不一样长度固定​数组元素类型必须一样长度固定。
返回列表