跳到主要内容

Rust loop 循环

提示
  1. 循环的基本概念:在 Rust 中,使用 loopwhilefor 关键字创建循环,以重复执行代码块,如打印同一条信息多次。
  2. 无限循环与中断loop 创建无限循环,通过 break 关键字中断循环,防止代码永久运行。
  3. 循环应用示例:展示了如何使用 loop 循环和 break 来打印前 10 个自然数,演示了循环控制和条件中断的具体用法。

在编程中,循环用于多次执行一段代码块。例如,要打印一个数字 100 次,我们使用循环而不是重复编写打印语句。

在 Rust 中,您可以使用三种不同的关键字多次执行代码块:

  • loop
  • while
  • for

循环表达式

在 Rust 中,我们使用 loop 表达式来无限期地执行一段代码块。如果我们使用 loop,循环代码块内的代码执行将不会停止,将永远运行。

loop 表达式的语法是:

loop {
// 要执行的代码
}

让我们看一个例子。

fn main() {
// 循环表达式
loop {
println!("无限循环!");
}
}

输出

无限循环!
无限循环!
无限循环!
.
.
.

这个示例代码将无限期地打印 "无限循环!",除非用户终止程序。由于循环永远运行,它也被称为 无限循环

在 Rust 中终止循环

我们使用 break 关键字来终止 loop。例如,

fn main() {
// 启动无限循环
loop {
println!("无限循环!");

// 停止无限循环
break;
}
}

输出

无限循环!

这里,break 关键字终止了循环。这就是为什么 println! 宏只执行了一次。

注意:在 Rust 中,我们经常一起使用 loopbreak

示例:使用 Loop 打印前 10 个自然数

fn main() {
let mut number = 0;

// 无限循环从这里开始
loop {
number += 1;
println!("{}", number);

if number >= 10 {
// 退出循环
break;
}
}
}

输出

1
2
3
4
5
6
7
8
9
10

在上面的示例中,我们使用 loop 表达式来打印自然数。这里,number 变量的初始值是 0

循环的工作原理

下表显示了 loop 在每次迭代中的工作原理。

number循环内部number >= 10
0number 增加到 1 1 被打印false
1number 增加到 2 2 被打印false
2number 增加到 3 3 被打印false
3number 增加到 4 4 被打印false
4number 增加到 5 5 被打印false
5number 增加到 6 6 被打印false
6number 增加到 7 7 被打印false
7number 增加到 8 8 被打印false
8number 增加到 9 9 被打印false
9number 增加到 10 10 被打印true (循环终止)

因此,我们在屏幕上看到打印出了