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 サイトの他の関連記事を参照してください。