假设我有一个 - for loop
函数;如果没有与机械相关的偏好,最好选择return
或break
吗?或者他们会完全一样?
void function()
{
for (int i; i<foo; i++)
{
if (something)
// return? break?
}
// nothing else after this
}
答案 0 :(得分:5)
使用break将退出循环,而return实际上将完成该方法。因此,如果您的目标是简单地停止循环,则可以使用break。但是,如果希望方法结束,请使用return。有关返回与休息的特殊情况的一些其他评论,请参阅此帖子:break and return in ruby, how do you use them?
******** ******** EDIT 在这种情况下,除非在函数中的for循环下有更多代码,否则它们的工作方式完全相同。如果是这种情况,请使用break来命中该代码。
答案 1 :(得分:3)
就生成的代码而言,您可以预期它们在这种情况下完全相同。
但是,返回与
在没有实际代码的情况下,在这种情况下更合适是不可能的,即便如此,也可能取决于意见。
答案 2 :(得分:1)
在这种情况下,我更愿意使用break
。要求可能会随着时间而变化
有一天你可能需要在循环后添加另一段代码。然后,早
return
可能是一个等待发生的错误,特别是如果早期循环退出
对于罕见且难以测试的情况。