MST
星途 面试题库

面试题:Rust中如何使用loop标签跳出多层循环

在Rust中,假设你有一个嵌套的循环结构,外层是`for`循环,内层是`loop`循环。要求当内层`loop`循环满足某个条件时,不仅跳出内层`loop`循环,还要跳出外层`for`循环。请编写相应代码实现该功能,并解释`loop`标签在其中的作用。
32.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn main() {
    'outer: for i in 1..4 {
        let mut j = 1;
        loop {
            if j * i == 6 {
                break 'outer;
            }
            j += 1;
        }
    }
    println!("跳出了外层循环");
}

在上述代码中,'outer是一个循环标签,它被绑定到外层的for循环。当内层的loop循环遇到break 'outer;语句时,它不仅跳出了内层的loop循环,还直接跳出了绑定了'outer标签的外层for循环。如果没有这个标签,break语句只会跳出内层的loop循环,外层的for循环会继续执行下一次迭代。所以loop标签的作用是明确指定break语句要跳出的目标循环,实现对内嵌多层循环跳出行为的精确控制。