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で定数を使う方法

Golangで定数を使う方法

Golang における Constant または Const とは何ですか? Go で定数を使用する際に知っておくべきことを以下に示します。

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 をインストールするための詳細なステップバイステップ ガイドです。

2025年の学生に最適なノートパソコン

2025年の学生に最適なノートパソコン

学生は学習のために特定のタイプのノートパソコンを必要とします。専攻分野で十分なパフォーマンスを発揮できるだけでなく、一日中持ち運べるほどコンパクトで軽量であることも重要です。

Windows 10にプリンターを追加する方法

Windows 10にプリンターを追加する方法

Windows 10 にプリンターを追加するのは簡単ですが、有線デバイスの場合のプロセスはワイヤレス デバイスの場合とは異なります。

最高の精度でコンピューターのRAMをチェックし、RAMエラーをチェックする方法

最高の精度でコンピューターのRAMをチェックし、RAMエラーをチェックする方法

ご存知の通り、RAMはコンピューターにとって非常に重要なハードウェア部品であり、データ処理のためのメモリとして機能し、ノートパソコンやPCの速度を決定づける要因です。以下の記事では、WebTech360がWindowsでソフトウェアを使ってRAMエラーをチェックする方法をいくつかご紹介します。

通常のテレビとスマートテレビの違い

通常のテレビとスマートテレビの違い

スマートテレビはまさに世界を席巻しています。数多くの優れた機能とインターネット接続により、テクノロジーはテレビの視聴方法を変えました。

なぜ冷凍庫にはライトがないのに、冷蔵庫にはライトがあるのでしょうか?

なぜ冷凍庫にはライトがないのに、冷蔵庫にはライトがあるのでしょうか?

冷蔵庫は家庭ではよく使われる家電製品です。冷蔵庫には通常 2 つの部屋があり、冷蔵室は広く、ユーザーが開けるたびに自動的に点灯するライトが付いていますが、冷凍室は狭く、ライトはありません。

Wi-Fiの速度低下を引き起こすネットワーク混雑を解決する2つの方法

Wi-Fiの速度低下を引き起こすネットワーク混雑を解決する2つの方法

Wi-Fi ネットワークは、ルーター、帯域幅、干渉以外にも多くの要因の影響を受けますが、ネットワークを強化する賢い方法がいくつかあります。

Tenorshare Reibootを使ってデータ損失なくiOS 17からiOS 16にダウングレードする方法

Tenorshare Reibootを使ってデータ損失なくiOS 17からiOS 16にダウングレードする方法

お使いの携帯電話で安定した iOS 16 に戻したい場合は、iOS 17 をアンインストールして iOS 17 から 16 にダウングレードするための基本ガイドを以下に示します。

ヨーグルトを毎日食べると体に何が起こるのでしょうか?

ヨーグルトを毎日食べると体に何が起こるのでしょうか?

ヨーグルトは素晴らしい食べ物です。ヨーグルトを毎日食べるのは良いことでしょうか?ヨーグルトを毎日食べると、身体はどう変わるのでしょうか?一緒に調べてみましょう!

健康に最も良いお米の種類は何ですか?

健康に最も良いお米の種類は何ですか?

この記事では、最も栄養価の高い米の種類と、どの米を選んだとしてもその健康効果を最大限に引き出す方法について説明します。

朝時間通りに起きる方法

朝時間通りに起きる方法

睡眠スケジュールと就寝時の習慣を確立し、目覚まし時計を変え、食生活を調整することは、よりよく眠り、朝時間通りに起きるのに役立つ対策の一部です。

Rent Please! をプレイするためのヒント初心者向け大家シミュレーション

Rent Please! をプレイするためのヒント初心者向け大家シミュレーション

レンタルして下さい! Landlord Sim は、iOS および Android 向けのシミュレーション モバイル ゲームです。あなたはアパートの大家としてプレイし、アパートの内装をアップグレードして入居者を受け入れる準備をしながら、アパートの賃貸を始めます。

最新のバスルームタワーディフェンスコードとコードの入力方法

最新のバスルームタワーディフェンスコードとコードの入力方法

Bathroom Tower Defense Roblox ゲーム コードを入手して、魅力的な報酬と引き換えましょう。これらは、より高いダメージを与えるタワーをアップグレードしたり、ロックを解除したりするのに役立ちます。

変圧器の構造、記号、動作原理

変圧器の構造、記号、動作原理

変圧器の構造、記号、動作原理を最も正確な方法で学びましょう。

AIがスマートテレビを進化させる4つの方法

AIがスマートテレビを進化させる4つの方法

画質や音質の向上から音声制御まで、これらの AI 搭載機能により、スマートテレビはさらに優れたものになります。

ChatGPTがDeepSeekより優れている理由

ChatGPTがDeepSeekより優れている理由

当初、人々はDeepSeekに大きな期待を寄せていました。 ChatGPT の強力な競合製品として販売されている AI チャットボットは、インテリジェントなチャット機能とエクスペリエンスを約束します。