在使用Rust Book进行猜测游戏时(我不会因为它可能在几周内不存在而放置链接),您可以使用return
来突破loop
。我改为使用break
:
loop {
guess = guesser();
guess_cast = guess.trim().parse();
let guess_num = match guess_cast {
Ok(num) => num,
Err(_) => {
println!("Guess was not a number, try again");
continue;
},
};
if guess_num < answer {
println!("Too low");
} else if guess_num > answer {
println!("Too high");
} else {
println!("You guessed it!");
break;
}
}
在这种情况下使用return
优于break
是否真的有区别?当你想要摆脱无限循环时,其他情况呢?
答案 0 :(得分:3)
如果循环是函数中的最后一个语句,那么break;
和return;
之间显然没有功能区别。如果这个条件不成立,显然存在差异,因为return
终止执行函数,而break
只终止执行循环
如果它们在功能上相同,您使用的可能会因环境(在这个特定位置感觉更好),个人偏好以及您吃早餐的情况而有所不同。