跳到主要内容

Rust for 循环

提示
  1. for 循环基本语法:Rust 中的 for 循环用于迭代一系列数字,其语法为 for 变量 in 下界数值..上界数值 { // 代码块 }
  2. 迭代器和范围符号for 循环使用迭代器(例如 1..6),其中下界包含在内而上界不包含;还可以使用 ..= 语法包含两端的范围。
  3. for 循环的应用for 循环可用于计算自然数的和、遍历数组或列表等多种场景,是 Rust 中处理迭代任务的常用工具。

在 Rust 中,for 循环用于迭代一系列数字。for 循环的语法是:

for 变量 in 下界数值..上界数值 {
// 代码块
}

让我们来看一个例子,

示例:Rust 中的 for 循环

fn main() {
// for 循环的使用
for i in 1..6 {
println!("{}", i);
}
}

输出

1
2
3
4
5

在这个例子中,我们使用 for 语法打印了 15 的数字。如果我们仔细观察这个例子,我们会看到

for i in 1..6 {
println!("{}", i);
}

这里,

  • for - 是开始任何 for 循环的关键字
  • i - 被称为循环变量,应该是一个有效的变量名
  • in - 是用于与 for 一起迭代一系列值的关键字
  • 1..6 - 被称为迭代器,其中 1 是下界,6 是上界。它产生从 1(包含)到 6(不包含)的值,步长为一。

注意: 由于其语法,for 循环也被称为 for-in 循环。

for 循环的工作原理

Rust 中 for 循环的工作原理

示例:使用 for 循环计算前 10 个自然数的和

fn main() {
let mut sum = 0;

// for 循环迭代前 10 个自然数
for i in 1..11 {
sum += i;
}

println!("Sum: {}", sum);
}

输出

Sum: 55

在这里,我们遍历迭代器 1..11,它产生从 110 的值。创建了一个 sum 变量来在每次迭代中累加所有值。最后,我们打印出所有值的和。

注意1..11 语法也被称为范围符号范围运算符,用于在 Rust 中创建迭代器

要了解更多关于迭代器的信息,请访问 Rust 迭代器

常见问题

Rust 是否有“C 风格”的 for 循环?

for (i = 0; i < 10; i++) {
printf("%d\n", i);
}

设计上,Rust 没有“C 风格”的 for 循环。“C 风格”的 for 循环包含四个主要部分:初始化、条件、更新表达式和循环体。使用这种语法,用户需要控制并定义代码的每一个部分,这既复杂又容易出错。

如何使用同时包含两端的范围符号?

范围符号 ..= 可用于同时包含两端的范围。例如,1..=5 产生从 1(包含)到 5(包含)的值,步长为一。

fn main() {
// 使用包含两端的范围符号的 for 循环
for i in 1..=5 {
println!("{}", i);
}
}

输出

1
2
3
4
5

如何使用 for 循环遍历数组或列表?

我们可以使用相同的 for..in 语法遍历数组。例如,

fn main() {
let fruits = ["Apple", "Orange", "Banana"];

// for 循环遍历数组中的项
for fruit in fruits {


println!("{}", fruit);
}
}

输出

Apple
Orange
Banana

要了解更多关于数组的信息,请访问 Rust 数组