在编程中,循环用于多次执行一个代码块。例如,要打印一个数字 100 次,我们会使用循环而不是重复编写打印语句。
在 Rust 中,您可以使用三个不同的关键字来多次执行一个代码块
- loop
- while
- for
Loop 表达式
在 Rust 中,我们使用 loop
表达式来无限期地执行代码块。如果我们使用 loop
,循环代码块内的代码执行不会停止,会永远运行下去。
loop
表达式的语法是
loop {
// code to execute
}
让我们看一个例子。
fn main() {
// loop expression
loop {
println!("Loop forever!");
}
}
输出
Loop forever! Loop forever! Loop forever! . . .
此示例代码将无限期地打印 “Loop forever!”,除非用户终止程序。由于循环永远运行,它也被称为无限循环。
终止 Rust 循环
我们使用 break
关键字来终止 loop
。例如,
fn main() {
// initiate an infinite loop
loop {
println!("Loop forever!");
// stop infinite loop
break;
}
}
输出
Loop forever!
这里,break
关键字终止了循环。这就是为什么 println!
宏只执行一次。
注意:在 Rust 中,我们经常一起使用 loop
和 break
。
示例:使用循环打印前 10 个自然数
fn main() {
let mut number = 0;
// infinite loop starts here
loop {
number += 1;
println!("{}", number);
if number >= 10 {
// exit the loop
break;
}
}
}
输出
1 2 3 4 5 6 7 8 9 10
在上面的示例中,我们使用了 loop
表达式来打印自然数。这里,number 变量的初始值为 0
。
循环的工作原理
下表显示了 loop
在每次迭代中的工作情况。
number | 循环内部 | number >= 10 |
---|---|---|
0 | number 增加到 11 被打印 |
false |
1 | number 增加到 22 被打印 |
false |
2 | number 增加到 33 被打印 |
false |
3 | number 增加到 44 被打印 |
false |
4 | number 增加到 55 被打印 |
false |
5 | number 增加到 66 被打印 |
false |
6 | number 增加到 77 被打印 |
false |
7 | number 增加到 88 被打印 |
false |
8 | number 增加到 99 被打印 |
false |
9 | number 增加到 1010 被打印 |
true (循环终止) |
因此,我们在屏幕上看到打印出数字 1 到 10。
Rust 中 loop 和 break 的工作原理

要了解更多关于 break
关键字的信息,请访问 Rust break 和 continue。