ホームページ > バックエンド開発 > Golang > `break` は Go の `for` ループを終了しますか、それとも単なる `switch` ステートメントですか?

`break` は Go の `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 ステートメントは通常、各ケースの終了時に自動的に終了しますが、次のことを考慮する価値があります。これらのブロック内の明示的な Break ステートメントの影響。例として特定のコード スニペットを見てみましょう:

for {
    switch sometest() {
    case 0:
        dosomething()
    case 1:
        break
    default:
        dosomethingelse()
    }
}
ログイン後にコピー

質問が生じます:break ステートメントは外側の for ループからブレークするのか、それとも switch ブロックのみからブレークするのでしょうか?

これに答えるには、次のようにします。 Break ステートメントについては Go プログラミング言語仕様を参照してください:

「'break' ステートメントは最も内側の 'for' の実行を終了します。 'switch' または 'select' ステートメントのラベルがある場合は、それを囲む 'for'、'switch' または 'select' ステートメントのラベルである必要があり、それが実行を終了します。"

この場合、ラベルが指定されていないため、break ステートメントは switch ブロックである innermost ステートメントを終了します。したがって、break ステートメントは外側の for ループを終了せず、switch ステートメントの実行を停止するだけで、プログラムはループの次の反復を続行できます。

以上が`break` は Go の `for` ループを終了しますか、それとも単なる `switch` ステートメントですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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