面试题答案
一键面试fn main() {
let mut flag = false;
'outer: loop {
loop {
let num = 5;
if num == 5 {
flag = true;
break 'outer;
}
}
if flag {
break;
}
}
println!("Both loops are broken.");
}
原理解释
- 标记循环:在Rust中,可以使用
'label
语法标记外层循环(这里标记为'outer
)。 - 内层循环条件判断:在内层循环中,当满足特定条件(变量
num
等于5)时,设置一个标志变量flag
为true
,并且使用break 'outer
跳出标记为'outer
的外层循环。 - 外层循环检查标志:外层循环每次迭代时,检查
flag
。如果flag
为true
,使用break
跳出外层循环。这样就实现了在内层循环满足条件时,同时跳出内外两层循环。