目录

  1. 什么是 Rust 循环
  2. 为什么要使用循环
  3. 循环类型
  4. 循环控制
  5. 嵌套循环与标签
  6. 代码示例
  7. 参考资料与出站链接

什么是 Rust 循环

Rust 循环是用于重复执行代码块的控制流结构。Rust 提供了三种主要循环类型:loopwhilefor,每种适用于不同场景。


为什么要使用循环

  • 重复执行:处理重复任务。
  • 迭代数据:遍历集合或范围。
  • 动态控制:根据条件决定循环次数。
  • 简洁性:减少代码冗余。

循环类型

  1. loop
  • 无限循环,直到显式退出。
  • 常与 break 配合使用。
  1. while
  • 条件循环,当条件为 true 时执行。
  1. for
  • 迭代器循环,遍历范围或集合。
  • 最常用且安全。

循环控制

  • break:退出循环,可带返回值(仅 loop)。
  • continue:跳过当前迭代,继续下一次。
let mut x = 0;
loop {
    if x == 5 {
        break;
    }
    x += 1;
}

嵌套循环与标签

  • 嵌套循环:循环中包含循环。
  • 标签:使用 'label 命名循环,与 breakcontinue 结合控制特定循环。
'outer: for i in 0..3 {
    for j in 0..3 {
        if j == 2 {
            break 'outer;
        }
    }
}

代码示例

loop 示例

fn main() {
    let mut count = 0;
    let result = loop {
        count += 1;
        if count == 3 {
            break count * 10;  // 返回值
        }
    };
    println!("Result: {}", result);
}

运行结果:

Result: 30

while 示例

fn main() {
    let mut number = 5;
    while number > 0 {
        println!("Countdown: {}", number);
        number -= 1;
    }
    println!("Done!");
}

运行结果:

Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1
Done!

for 示例

fn main() {
    for i in 1..=3 {  // 包含上界
        println!("Number: {}", i);
    }

    let arr = [10, 20, 30];
    for elem in arr.iter() {
        println!("Element: {}", elem);
    }
}

运行结果:

Number: 1
Number: 2
Number: 3
Element: 10
Element: 20
Element: 30

嵌套循环与标签

fn main() {
    'outer: for i in 0..3 {
        for j in 0..3 {
            println!("i: {}, j: {}", i, j);
            if i == 1 && j == 1 {
                break 'outer;
            }
        }
    }
}

运行结果:

i: 0, j: 0
i: 0, j: 1
i: 0, j: 2
i: 1, j: 0
i: 1, j: 1

参考资料与出站链接

  1. 官方文档
  1. 学习资源
  1. 社区支持