Rust for 循环

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 语法打印数字 15。如果我们仔细查看示例,我们会看到

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

这里,

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

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


For 循环的工作原理

Working of Rust for Loop
Rust 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,它产生从 110 的值。创建了一个 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

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战