ホームページ > バックエンド開発 > Golang > `break` は Go の `switch/select` またはその囲みループを終了しますか?

`break` は Go の `switch/select` またはその囲みループを終了しますか?

DDD
リリース: 2024-12-30 03:09:08
オリジナル
671 人が閲覧しました

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

break ステートメントはスイッチ/選択からブレークしますか、それともそれが存在するループをエスケープしますか?

多くのプログラミング言語はスイッチ/選択を採用していますステートメントは複数のケースを処理するためのもので、通常は各ケースの実行後に自動的に中断されます。しかし、Go では、switch/select ステートメント内の Break ステートメントは、switch/select ブロックを終了するだけですか、それとも外側のループから抜け出しますか?

答え:

Go では、break ステートメントは最も内側の for、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 ステートメントは終了しません。ループします。

以上が`break` は Go の `switch/select` またはその囲みループを終了しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート