Go言語でswitchステートメントを使用するにはどうすればよいですか?
Go 言語は新興プログラミング言語であり、効率性、シンプルさ、セキュリティ、同時実行性の特性を備えており、Web 開発、分散システム、クラウド コンピューティングなどの分野での使用に非常に適しています。 Go 言語では、switch ステートメントは非常に一般的に使用される言語構造であり、式の値に基づいて実行するさまざまな分岐を選択できます。この記事ではGo言語のswitch文の基本的な使い方と注意点を紹介します。
- 基本構文
Go 言語の switch ステートメントは他のプログラミング言語の switch ステートメントに似ていますが、他の言語とは異なり、Go 言語の switch ステートメントは「フォールスルー」(浸透効果) を防ぐには、break ステートメントが必要です。以下に簡単な例を示します。
func main() { num := 2 switch num { case 1: fmt.Println("The number is 1") case 2: fmt.Println("The number is 2") case 3: fmt.Println("The number is 3") default: fmt.Println("Unknown number") } }
上記のコードでは、最初に 2 に等しい変数 num を定義し、次にこの変数の値を照合して、実行する別のブランチを選択します。 num の値が 2 であるため、2 番目の分岐が選択され、「数値は 2」が出力されます。 num の値を 4 に変更すると、デフォルトの分岐が実行され、「不明な番号」が出力されます。
- 複数条件の一致
実際のプログラミングでは、複数の値を一致させる必要がある場合がありますが、これを実現するには、カンマを使用して複数の条件を区切ることができます。以下に例を示します。
func main() { num := 3 switch num { case 1, 2: fmt.Println("The number is 1 or 2") case 3, 4: fmt.Println("The number is 3 or 4") default: fmt.Println("Unknown number") } }
上記のコードでは、カンマを使用して複数の条件を区切って、異なる値の範囲に一致させます。 num の値が 1 または 2 の場合、最初の分岐が実行されて「数値は 1 または 2」が出力され、num の値が 3 または 4 の場合、2 番目の分岐が実行されて「数値は 1 または 2」が出力されます。出力される数値は「3」または「4」です。
- 式の照合
場合によっては、変数値そのものだけでなく、条件を照合するために式を使用する必要があります。以下に例を示します。
func main() { num1 := 10 num2 := 20 switch { case num1 > num2: fmt.Println("num1 is greater than num2") case num2 > num1: fmt.Println("num2 is greater than num1") default: fmt.Println("num1 is equal to num2") } }
上記のコードでは、switch 条件式を指定しませんでしたが、各 case 分岐で異なる式を使用して条件に一致させました。 num1 の値が num2 より大きい場合、最初の分岐が実行され、「num1 は num2 より大きい」が出力され、num2 の値が num1 より大きい場合、2 番目の分岐が実行され、「num2 は num2 です」が出力されます。 「num1 より大きい」が出力されます。num1 の値が num2 に等しい場合、デフォルトの分岐が実行され、「num1 は num2 に等しい」が出力されます。
- タイプ スイッチ
式の使用に加えて、マッチングにタイプを使用することもできます。このタイプのスイッチをタイプスイッチと呼びます。以下は例です:
func main() { var i interface{} = 10 switch i.(type) { case int: fmt.Println("i is an integer") case float64: fmt.Println("i is a float") case bool: fmt.Println("i is a boolean") case string: fmt.Println("i is a string") default: fmt.Println("i is an unknown type") } }
上記のコードでは、空のインターフェイス変数 i を定義し、それを整数 10 に割り当てます。次に、タイプ スイッチを使用して i のタイプを一致させ、さまざまなタイプに基づいてさまざまな分岐を実行します。 i の型は int なので、最初の分岐が実行され、「i は整数」が出力されます。
- 注意事項
switch ステートメントを使用する場合は、次の点に注意する必要があります。
- switch ステートメントには、この場合、条件に一致するケース分岐に式を使用する必要があります。
- 他のプログラミング言語とは異なり、Go 言語の switch ブランチは自動的に「フォールスルー」 (浸透効果) しないため、switch ブランチから飛び出すために Break ステートメントを使用する必要はありません。
- 一致するブランチがない場合、ブランチは実行されず、エラーは報告されません。
- fallthrough ステートメントを使用して、1 つの case 分岐の後に次の case 分岐の実行を継続する場合は、無限ループを避けるために注意する必要があります。
要約:
Go 言語の switch ステートメントは非常に一般的に使用される言語構造であり、さまざまな条件に応じて実行するさまざまな分岐を選択できます。 switch ステートメントを使用する場合は、複数条件の一致、条件を一致させるための式の使用、switch の型などの特殊なケースに注意する必要があります。 switch ステートメントを上手に使用すると、より明確で効率的かつ安全なコードを作成できます。
以上がGo言語でswitchステートメントを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

Go言語での文字列印刷の違い:printlnとstring()関数を使用する効果の違いはGOにあります...

Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか?ゴーランドを使用するためにGolandを使用する場合、多くの開発者はカスタム構造タグに遭遇します...

redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

GO言語で構造を定義する2つの方法:VARとタイプのキーワードの違い。構造を定義するとき、GO言語はしばしば2つの異なる執筆方法を見ます:最初...

ポインター構文とviperライブラリの使用における問題への取り組みGO言語でプログラミングするとき、特にポインターの構文と使用を理解することが重要です...
