Rust 循环

简介

Rust是一种现代的、安全的编程语言,其中包括多种控制流结构来帮助您有效地管理程序执行。本教程将深入探讨Rust循环,涵盖以下主题:

  • loop 关键字
  • while 循环
  • for 循环
  • breakcontinue 语句
  • 标签循环(labeled loops)

loop 关键字

Rust中的 loop 关键字用于创建一个无限循环。这种类型的循环会一直执行,直到您显式地使用 break 语句来退出它。下面是一个基本的 loop 示例:

fn main() {
    let mut count = 0;
    loop {
        count += 1;
        println!("count is: {}", count);
        if count == 5 {
            break;
        }
    }
}

在这个例子中,循环会不断增加 count 变量的值并打印出来,直到 count 等于5。然后它使用 break 语句退出循环。

while 循环

Rust中的 while 关键字可以用来创建一个带有条件的循环。只要该条件为真,循环就会继续执行。下面是一个使用 while 循环计算斐波那契数列的例子:

fn main() {
    let mut a = 0;
    let mut b = 1;
    while b < 100 {
        let temp = a;
        a = b;
        b = temp + b;
    }
    println!("The last Fibonacci number under 100 is: {}", a);
}

在这个例子中,循环会一直计算下一个斐波那契数列的值,直到它大于或等于100。然后它打印出最后一个小于100的斐波那契数字。

for 循环

Rust中的 for 关键字用于遍历集合(如数组、向量和范围)中的元素。下面是一个使用 for 循环遍历数组并打印出每个元素的例子:

fn main() {
    let numbers = [1, 2, 3, 4, 5];
    for num in numbers.iter() {
        println!("The number is: {}", num);
    }
}

在这个例子中, numbers.iter() 方法返回一个迭代器,它允许我们遍历数组中的每个元素。然后我们使用 for 循环来打印出每个元素。

break 和 continue 语句

Rust中的 breakcontinue 语句与其他编程语言类似,可以用于控制循环的流程。 break 语句用于立即退出循环,而 continue 语句用于跳过当前迭代并继续下一次迭代。

标签循环(labeled loops)

Rust中还支持使用标签来标识循环,这样就可以在嵌套的循环中精确地指定要退出或跳过哪个循环。例如:

fn main() {
    'outer: loop {
        for x in 0..10 {
            if x % 2 == 0 {
                continue;
            } else if x == 9 {
                break 'outer;
            }
            println!("x is: {}", x);
        }
    }
}

在这个例子中,我们使用了 'outer 标签来标识外部循环。当 x 是偶数时, continue 语句会跳过当前迭代并继续下一次迭代;当 x 等于9时, break 'outer; 语句会退出外部循环。

结论

本教程深入介绍了Rust中的各种循环类型,包括 loopwhilefor 循环,以及如何使用 breakcontinue 语句来控制它们。我们还探讨了标签循环,这是一种在嵌套的循环中精确地指定要退出或跳过哪个循环的方法。希望本教程能帮助您更好地理解和使用Rust循环!