GOのスイッチステートメントは、式の値に基づいて異なるコードブロックを実行できる制御フローステートメントです。特に複数の条件を扱う場合、複数のIF-ELSEステートメントよりも読みやすく簡潔になるように設計されています。 Switchステートメントは式を一度評価し、それを複数のケースと比較し、最初の一致するケースに関連付けられたコードを実行します。ケースが一致しない場合、オプションのデフォルトのケースを実行できます。この構造により、コードが簡素化され、特に多数の条件を扱うときに、管理と理解が容易になります。
GOでスイッチステートメントを使用すると、複数のIF-ELSEステートメントよりもいくつかの利点があります。
fallthrough
キーワードで明示的に指定されない限り、他の言語で見られるフォールスルー動作を自然に防ぐため、論理エラーのリスクが低下します。 Goでは、 fallthrough
キーワードを使用して、現在のケースのコードブロックが実行された後、実行が次のケースまで続く必要があることを明示的に指定します。デフォルトでは、GOのSwitchステートメントは、ケースのコードブロックを実行した後、次のケースに分類されません。ただし、ケースのコードブロックの最後にfallthrough
ステートメントを含めることにより、スイッチ式と一致するかどうかにかかわらず、実行は次のケースに進みます。
ここに、 fallthrough
の使用を示す例があります。
<code class="go">switch i := 2; i { case 1: fmt.Println("One") case 2: fmt.Println("Two") fallthrough case 3: fmt.Println("Three") default: fmt.Println("Default") }</code>
この例では、 i
が2の場合、「2」が最初に印刷され、次にfallthrough
のために「3」も印刷されます。 default
fallthrough
次のケースにのみ継続され、デフォルトではなく、デフォルトのケースは実行されません。
はい、ここにGOのスイッチステートメントの例があり、短い変数宣言を使用します。
<code class="go">package main import "fmt" func main() { switch num := 42; num { case 10: fmt.Println("Number is 10") case 20: fmt.Println("Number is 20") case 30: fmt.Println("Number is 30") case 40, 41, 42: fmt.Println("Number is 40, 41, or 42") default: fmt.Println("Number is not 10, 20, 30, 40, 41, or 42") } }</code>
この例では、 num := 42
スイッチステートメントで直接使用される短い変数宣言です。スイッチはnum
を評価し、対応するケースを実行します。 num
は42であるため、 40, 41, 42
のケースと一致し、「番号は40、41、または42」を印刷します。
以上がGoのスイッチステートメントの目的は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。