首頁 > 後端開發 > 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板