Switch/Select 语句以 Break 终止
虽然 switch 和 select 语句通常在每种情况结束时自动结束,但值得考虑这些块中显式中断语句的效果。让我们以一个特定的代码片段为例:
for { switch sometest() { case 0: dosomething() case 1: break default: dosomethingelse() } }
问题来了:break语句是从外层for循环中中断还是只从switch块中中断?
为了回答这个问题,我们参考 Go 编程语言规范关于 Break 语句:
“‘break’语句终止最里面的‘for’、‘switch’或'select' 语句。如果有标签,它必须是封闭的 'for'、'switch' 或 'select' 语句的标签,并且是执行终止的标签。”
在我们的例子中,由于没有提供标签,break 语句将终止 innermost 语句,即 switch 块。因此,break语句不会退出外层for循环,而只是停止执行switch语句,让程序继续进行下一次循环。
以上是Go 中的'break”是退出'for”循环还是只是一个'switch”语句?的详细内容。更多信息请关注PHP中文网其他相关文章!