Menu
CoddyTech

遍历向量

本课属于 Coddy Rust 学习旅程的“逻辑与流程”单元。第 11 课,共 66 课。

现在你已经知道如何创建向量并访问单个元素,接下来我们来学习如何系统地处理向量中的每个元素。for 循环非常适合完成这项任务,它可以让你按顺序遍历每个元素。

下面是遍历向量的基本语法:

let names = vec!["Alice", "Bob", "Charlie"];

for name in &names {
    println!("Hello, {}!", name);
}

注意 names 前面的 &,它会创建一个指向该向量的引用,让你无需取得向量本身的所有权就能读取每个元素。每次迭代都会通过循环变量 name 让你访问一个元素。

for 循环会自动为你进行边界检查。与手动索引不同,你不会意外访问不存在的元素。循环会恰好遍历向量中的所有元素,因此既安全又方便。

你可以将这种模式用于任何类型的向量:

let scores = vec![85, 92, 78, 90];

for score in &scores {
    println!("Score: {}", score);
}

当你需要读取向量中所有元素的值时,这种方法是最常见、最符合惯用写法的处理方式。

challenge icon

挑战

简单
编写一个函数 sum_all_elements,它接收一个向量 numbers,并返回其中所有元素的总和。

使用 for 循环遍历向量,并累加所有元素的总和。

参数:

  • numbers(Vec<i32>):要累加的整数向量

返回值:向量中所有元素的总和(i32)

亲手试试

fn sum_all_elements(numbers: Vec<i32>) -> i32 {
    // 在这里编写代码
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Rust 在线编译器