Rust 循环

在编程中,循环用于多次执行一个代码块。例如,要打印一个数字 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 中,我们经常一起使用 loopbreak


示例:使用循环打印前 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 增加到 1
1 被打印
false
1 number 增加到 2
2 被打印
false
2 number 增加到 3
3 被打印
false
3 number 增加到 4
4 被打印
false
4 number 增加到 5
5 被打印
false
5 number 增加到 6
6 被打印
false
6 number 增加到 7
7 被打印
false
7 number 增加到 8
8 被打印
false
8 number 增加到 9
9 被打印
false
9 number 增加到 10
10 被打印
true (循环终止)

因此,我们在屏幕上看到打印出数字 110


Rust 中 loop 和 break 的工作原理

Working of loop and break in Rust
Rust 中 loop 和 break 的工作原理

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

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

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

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