假设我有一个单一的for loop
功能;最好选择return
还是break
没有与机械相关的偏好?或者他们会完全一样?
void function()
{
for (int i; i<foo; i++)
{
if (something)
// return? break?
}
// nothing else after this
}
使用 break 将退出循环,而 return 将实际完成该方法。因此,如果您的目标是简单地停止循环,则可以使用 break。但是,如果您希望方法结束,请使用 return。有关返回与中断的特殊情况的一些附加评论,请参阅此帖子:ruby 中的中断和返回,您如何使用它们?
********编辑******** 在这种情况下,它们的工作方式完全相同,除非您在函数中的 for 循环下有更多代码。如果是这种情况,请使用 break 来命中该代码。
就生成的代码而言,您可以期望它们在这种情况下完全相同。
但是,return与 break的含义不同。Return 表示您正在退出函数,而 break 只是退出循环。现在的结果可能是一样的,但是当算法改变或者当你需要做一些后处理时,结果可能会改变。
如果没有实际的代码,在这种情况下更合适的说法是不可能的,即使那样也可能取决于意见。
break
在这种情况下,我更喜欢使用 a 。需求会随着时间而改变,并且有一天您可能不得不在循环之后添加另一段代码。然后,早期
return
可能是一个等待发生的错误,特别是如果早期循环退出是针对罕见且难以测试的条件。