Rust 中的 for
循环用于迭代一系列数字。for
循环的语法是
for variable in lower_bound_number..upper_bound_number {
// code block
}
让我们看一个例子:
示例:Rust For 循环
fn main() {
// usage of for loop
for i in 1..6 {
println!("{}", i);
}
}
输出
1 2 3 4 5
在这个示例中,我们使用 for
语法打印数字 1
到 5
。如果我们仔细查看示例,我们会看到
for i in 1..6 {
println!("{}", i);
}
这里,
for
- 是开始任何for
循环的关键字i
- 被称为循环变量,应该是一个有效的变量名in
- 是与for
一起用于迭代一系列值的关键字1..6
- 被称为 **迭代器 (Iterator)**,其中1
是下界,6
是上界。它以步长一产生从 1(包含)到 6(不包含)的值。
注意: 由于其语法,for 循环也称为 for-in 循环。
For 循环的工作原理

示例:使用 For 循环计算前 10 个自然数的和
fn main() {
let mut sum = 0;
// for loop to iterate over first 10 natural numbers
for i in 1..11 {
sum += i;
}
println!("Sum: {}", sum);
}
输出
Sum: 55
在这里,我们迭代迭代器 1..11
,它产生从 1
到 10
的值。创建了一个 sum 变量来累加每次迭代中的所有值。最后,我们打印所有值的总和。
注意:1..11
语法也称为 **范围表示法 (range notation)** 或 **范围运算符 (range operator)**,用于在 Rust 中创建 **迭代器 (Iterators)**。
要了解有关迭代器的更多信息,请访问 Rust Iterator。
常见问题
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 loop with inclusive range notation
for i in 1..=5 {
println!("{}", i);
}
}
输出
1 2 3 4 5
如何使用 for 循环遍历数组或列表?
我们可以使用相同的 for..in
语法遍历数组。例如,
fn main() {
let fruits = ["Apple", "Orange", "Banana"];
// for loop to iterate through items in an array
for fruit in fruits {
println!("{}", fruit);
}
}
输出
Apple Orange Banana
要了解有关数组的更多信息,请访问 Rust Array。