GoのSwitch文

Golang には他のほとんどのプログラミング言語と同様にswitch ステートメントがあります。Golangの switch ステートメントを 使用すると、変数または式を複数のケースで評価することができ、複数の if-else ステートメントを記述するとコードが見苦しく繰り返しが多くなる場合によく使用されます。

GoのSwitch文

Go では、switch ステートメントは、式の値 (または型) に基づいて実行を効果的に指示する多方向分岐ステートメントです。Go には主に 2 種類の switch 文があります。

  • 表情スイッチ
  • タイプスイッチ

例えば:

package main
import "fmt"

func main() {
    day := 4
    switch day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Invalid day")
    }
}

GolangのSwitch文の構文

switch optstatement; optexpression {
case expression1:
    // Khối code
case expression2:                                                          # Expression Switch
    // Khối code
default:
    // Khối code
}

switch var := interfaceValue.(type) {
case type1:
    // Khối code
case type2:                                                                    # Type Switch
    // Khối code
default:
    // Khối code
}

表情スイッチ

Expression Switch は式を評価し、その式の値に基づいてケースを切り替えます。式が指定されていない場合、スイッチはデフォルトでtrueになります。

構文

switch optstatement; optexpression {
case expression1:
    // Khối code
case expression2:
    // Khối code
default:
    // Khối code
}

optstatement:オプションのステートメント (例: 変数宣言)。
optexpression:オプションの式 (省略した場合はデフォルトでtrueになります)。

オプションコマンドの例

ここでは、日変数を宣言するオプションのステートメントを導入します。次に、switchステートメントはさまざまなケースに応じて日を評価します。

package main
import "fmt"
func main() {
    switch day := 4; day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Invalid day")
    }
}

結果:

Thursday

オプションの式の例

式が指定されていない場合、Golang の switch ステートメントでは式が true であると想定されます。これにより、case ステートメントでブール条件を使用できるようになります。

package main
import "fmt"

func main() {
    day := 4

    switch {
    case day == 1:
        fmt.Println("Monday")
    case day == 4:
        fmt.Println("Thursday")
    case day > 5:
        fmt.Println("Weekend")
    default:
        fmt.Println("Invalid day")
    }
}

結果

Thursday

タイプスイッチ

タイプ スイッチは、インターフェイス値の値ではなく、そのタイプに基づいて分岐するために使用されます。これは、不明なタイプの変数を扱う場合に特に便利です。

構文

switch var := interfaceValue.(type) {
case type1:
    // Khối code
case type2:
    // Khối code
default:
    // Khối code
}

例えば:

この例では、同じday変数を使用していますが、型キャストを示すためにinterface{}でラップされています。

package main
import "fmt"
func main() {
    var day interface{} = 4
    switch v := day.(type) {
    case int:
        switch v {
        case 1:
            fmt.Println("Monday")
        case 2:
            fmt.Println("Tuesday")
        case 3:
            fmt.Println("Wednesday")
        case 4:
            fmt.Println("Thursday")
        case 5:
            fmt.Println("Friday")
        default:
            fmt.Println("Invalid day")
        }
    default:
        fmt.Printf("Unknown type: %T\n", v)
    }
}

結果:

Thursday
Sign up and earn $1000 a day ⋙

Leave a Comment

Golangのvolatile関数

Golangのvolatile関数

Go の可変長関数を使用すると、関数に可変数の引数を渡すことができます。 Golang の volatile 関数について知っておくべきことはすべてここにあります。

Golang の名前付き戻りパラメータ

Golang の名前付き戻りパラメータ

Golang では、名前付き戻りパラメータは、名前付きパラメータと呼ばれることがよくあります。 Golang では、関数のシグネチャまたは定義内で関数の戻りパラメータまたは結果に名前を付けることができます。

Goのキーワード

Goのキーワード

キーワード - キーワードは、何らかの内部プロセスに使用されるか、何らかの事前定義されたアクションを表す言語の単語です。 Golang のキーワードについて知っておくべきことを以下に示します。

Golangのデータ型

Golangのデータ型

データ型は、有効な Go 変数に格納できるデータの型を指定します。 Go 言語では、型は次の 4 つのカテゴリに分類されます。

Golangの関数の引数

Golangの関数の引数

Go は、引数を渡す方法として、値渡しと参照渡しという 2 つの主な方法をサポートしています。 Go では、デフォルトで値渡しが使用されます。

Golangで複数の値を返す関数

Golangで複数の値を返す関数

Go 言語では、return ステートメントを使用して関数から複数の値を返すことができます。つまり、関数では、 return ステートメントは複数の値を返すことができます。

Golangで選択文を使用する際に知っておくべきケース

Golangで選択文を使用する際に知っておくべきケース

この記事では、デッドロックを回避するために default case を使用する方法を学習します。しかし、まず、Golang の select コマンドを使用するときにデッドロックが発生するケースが何であるかを確認しましょう。

Golang の匿名構造体とフィールド

Golang の匿名構造体とフィールド

Golang の匿名構造体は、1 回限りの目的で使用される名前のない一時的な構造体ですが、匿名フィールドでは名前のないフィールドを埋め込むことができます。

GolangでRuneを使う方法

GolangでRuneを使う方法

Golang におけるルーン文字とは何ですか? Golang で Rune を使用するにはどうすればいいですか?この記事でその答えがわかります。

Golangで演算子を使う方法

Golangで演算子を使う方法

演算子を使用すると、オペランドに対してさまざまな種類の演算を実行できます。 Go 言語では、演算子はさまざまな機能に基づいて分類できます。

Golang の void 識別子

Golang の void 識別子

Golang では _(アンダースコア) は空白識別子と呼ばれます。識別子は、識別目的で使用されるプログラム コンポーネントのユーザー定義名です。

Golangで基本的なプログラムを作成する方法

Golangで基本的なプログラムを作成する方法

こんにちは世界!あらゆるプログラミング言語における最初の基本プログラムです。この最初のプログラムは、以下の手順に従って Golang で記述できます。

WindowsにGoをインストールする方法

WindowsにGoをインストールする方法

Golang は Windows に簡単にインストールできます。以下は、Windows に Golang をインストールするための詳細なステップバイステップ ガイドです。

Golangにおける同じ名前のメソッド

Golangにおける同じ名前のメソッド

Golang では、同じパッケージ内に同じ名前のメソッドを 2 つ以上作成できますが、これらのメソッドのレシーバーは異なる型である必要があります。

Fortniteでデッドプールエリアはどこにありますか?

Fortniteでデッドプールエリアはどこにありますか?

デッド プールは、v34.21 アップデート以降に Fortnite に追加されたモータル コンバットをテーマにしたエリアの 1 つです。

機内モードにしていても Wi-Fi を使用すると、携帯電話は雷を引き寄せますか?

機内モードにしていても Wi-Fi を使用すると、携帯電話は雷を引き寄せますか?

雷が鳴っているときに携帯電話を使うべきですか?携帯電話の電波は雷で切断される可能性がありますか?機内モードにしていても Wi-Fi を使用すると、携帯電話は雷を引き寄せますか?

地球上に最初の雨が降ったのはいつですか?

地球上に最初の雨が降ったのはいつですか?

オーストラリアと中国の研究者チームによる新たな研究によると、地球上に最初の雨が降ったのは約40億年前で、これまで考えられていたよりも5億年も早いことが示唆されている。

世界で最も危険なもの、たった5分の接触で死に至る

世界で最も危険なもの、たった5分の接触で死に至る

この物体はウクライナのチェルノブイリ地域にあり、歴史上最も恐ろしい放射能漏れの結果として生じたものです。この物体は巨大な足のような形をしているため、「象の足」と呼ばれています。

主人公激突クラッシュの最新コード

主人公激突クラッシュの最新コード

ゲーム コード Chu Cong Xung Xung Xung を使用すると、プレイヤーは初めてゲームに参加したときにサポートを受けることができます。これらの報酬は、ゲームに早く慣れるのに役立ち、間違いなく新しいプレイヤーを引き付けます。ギフトを受け取るには、以下のゲーム コード Chu Cong Xung Xung Xung を入力してください。

今すぐ試せる9つのローカル/オフラインLLM

今すぐ試せる9つのローカル/オフラインLLM

HuggingFace で量子 LLM が利用できるようになりました。また、H20、Text Gen、GPT4All などの AI エコシステムでは LLM の重みをコンピューターにロードできるため、無料で柔軟かつ安全な AI の選択肢が得られます。

AndroidのネイティブボイスレコーダーアプリからDolby Onに切り替える理由

AndroidのネイティブボイスレコーダーアプリからDolby Onに切り替える理由

Android スマートフォンのデフォルトのボイスレコーダーには欠陥があり、効果的なノイズキャンセルや強力な編集ツールなどの重要な機能が欠けています。

各アプリケーションのデフォルトの音量レベルを設定する方法

各アプリケーションのデフォルトの音量レベルを設定する方法

各アプリケーションにデフォルトの音量レベルを設定すると、Youtube アプリケーションを使用してビデオを視聴しているときに、邪魔されないように着信音とメッセージ音の音量を下げたい場合などに役立ちます。

バレンタインデーのための美しいネイルデザインのコレクション

バレンタインデーのための美しいネイルデザインのコレクション

ピンクのグリッターと赤いマニキュアは、バレンタインデーのネイルに特に適しています。それ以上に良いことは何でしょうか?この記事では、バレンタインデーの甘いデートにぴったりの美しいネイルデザインをまとめてご紹介します。

自分を変えるためのステータス、人生にモチベーションを生み出すために自分を変えるためのキャプション

自分を変えるためのステータス、人生にモチベーションを生み出すために自分を変えるためのキャプション

以下は、自分自身を変えることに関するステータスと、人生の変化に適応するためのモチベーションを高めるのに役立つ、自分自身を変えることに関するキャプションです。

IOS 19のリークで全く新しいデザインが明らかに

IOS 19のリークで全く新しいデザインが明らかに

昨年6月下旬、ブルームバーグは、Appleが来年に向けてiOS 19、macOS 16、watchOS 12、VisionOS 3の開発を開始したと報じた。

超スリム化されたWindows 11のバージョンは、サイズが100MB強です

超スリム化されたWindows 11のバージョンは、サイズが100MB強です

開発者の NTDEV は、わずか 100 MB の Windows 11 の簡素化されたバージョンを作成しました。

透明シールドは、その背後にいる人や物体を見えなくします。

透明シールドは、その背後にいる人や物体を見えなくします。

英国の科学者らは、背後にいる人や物体をほぼ完全に「消滅」させることができる目に見えないシールドを開発した。

世界には開けられない扉が3つあります。

世界には開けられない扉が3つあります。

世界には開けられないと言われている扉が3つあります。そして実際、後の世代はそれらの中の秘密を明らかにしようとはしなかった。

広島の原爆によって歩道に残された人や物の影は何でしょうか?

広島の原爆によって歩道に残された人や物の影は何でしょうか?

1945年8月6日と9日に米国が日本の二大都市である広島と長崎にそれぞれ原子爆弾を投下した後、歩道や建物に人や物の暗い影が散在して現れた。