首页 > 后端开发 > Golang > Go 中的'break”是否退出'switch/select”或其封闭循环?

Go 中的'break”是否退出'switch/select”或其封闭循环?

DDD
发布: 2024-12-30 03:09:08
原创
671 人浏览过

Does `break` Exit a `switch/select` or its Enclosing Loop in Go?

break 语句是否从 Switch/Select 中中断或转义它所在的循环?

许多编程语言都使用 switch/select语句来处理多个案例,通常在每个案例执行后自动中断。但是,在 Go 中,switch/select 语句中的break语句是否仅终止 switch/select 块或导致退出封闭循环?

答案:

在 Go 中,break 语句退出最里面的 for、switch 或 select 语句。如果提供了标签,则它必须与封闭循环、switch 或 select 构造的标签相匹配。

Go 编程语言规范的以下摘录阐明了此行为:

Break statements, The Go Programming Language Specification.

A "break" statement terminates execution of the innermost "for",
"switch" or "select" statement.

BreakStmt = "break" [ Label ] .
登录后复制

因此,在提供的示例中:

for {
    switch sometest() {
    case 0:
        dosomething()
    case 1:
        break
    default:
        dosomethingelse()
    }
}
登录后复制

break 语句仅终止 switch 语句,而不终止封闭的 for循环。

以上是Go 中的'break”是否退出'switch/select”或其封闭循环?的详细内容。更多信息请关注PHP中文网其他相关文章!

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