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