首页 > 后端开发 > Golang > Go 中的'break”是退出'for”循环还是只是一个'switch”语句?

Go 中的'break”是退出'for”循环还是只是一个'switch”语句?

Susan Sarandon
发布: 2024-12-31 06:02:14
原创
576 人浏览过

Does `break` Exit a `for` Loop or Just a `switch` Statement in Go?

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板