面试题答案
一键面试loop循环
适用场景:适用于需要无限循环执行某些代码块,直到通过break
语句显式退出的场景。例如,实现一个简单的交互式命令行程序,等待用户输入特定指令才结束循环。
示例:
fn main() {
loop {
println!("输入 'quit' 退出循环:");
let mut input = String::new();
std::io::stdin().read_line(&mut input)
.expect("读取输入失败");
if input.trim() == "quit" {
break;
}
}
}
while循环
适用场景:适用于在条件满足时重复执行代码块的场景。比如,在处理数组或链表等数据结构时,需要在满足某个条件(如未到达数据结构末尾)的情况下进行操作。
示例:
fn main() {
let mut num = 0;
while num < 5 {
println!("当前数字: {}", num);
num += 1;
}
}
for循环
适用场景:主要用于遍历可迭代对象,如数组、向量、范围等。在需要对集合中的每个元素执行相同操作时非常方便。
示例:
fn main() {
let numbers = [1, 2, 3, 4, 5];
for num in numbers.iter() {
println!("数字: {}", num);
}
}