MST

星途 面试题库

面试题:Rust 中 `while` 循环和 `loop` 循环的主要区别及应用场景

在 Rust 编程语言里,请阐述 `while` 循环和 `loop` 循环的主要区别,并分别举例说明它们适用的场景。
38.7万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试

区别

  1. while 循环while 循环会在每次迭代前检查一个条件表达式。只要条件表达式为 true,循环就会继续执行。当条件表达式变为 false 时,循环终止。
  2. loop 循环loop 循环是一个无限循环,会一直执行,直到遇到 break 语句才会终止循环。

适用场景及示例

  1. while 循环适用场景及示例
    • 适用场景:适用于已知循环结束条件的情况,例如遍历一个数组直到数组结束,或者根据某个逻辑条件判断是否继续循环。
    • 示例
let mut num = 0;
while num < 5 {
    println!("The number is: {}", num);
    num += 1;
}

在这个例子中,while 循环会在 num 小于 5 时执行,每次循环 num 增加 1,当 num 达到 5 时,条件 num < 5false,循环终止。 2. loop 循环适用场景及示例: - 适用场景:适用于需要无限循环,直到满足某个特定条件才结束的场景,例如实现一个简单的命令行交互程序,等待用户输入特定指令才退出。 - 示例

loop {
    let input = String::from("quit"); // 这里假设从用户输入获取字符串,实际应用中需要使用标准输入相关方法
    if input == "quit" {
        break;
    }
    println!("Continue loop...");
}

在这个例子中,loop 循环会一直执行,每次循环检查 input 是否等于 "quit",如果是则执行 break 语句终止循环,否则继续打印 "Continue loop..."。