switch文

Go言語のswitch文についてまとめました。

動作環境

ホストOSWindows 10 21H1(19043.2006) 64bit
WSL2
Visual Studio Code1.70.2
Docker Desktop4.12.0(85629)
Go1.18.6

構文

// switch文の式による判定
switch 簡易文; 式 {
case 式との比較値, 式との比較値, ...:
  カンマで区切られたいずれかの比較結果がtrueの場合の処理
case 式と比較する値:
  比較結果がtrueの場合の処理
・
・
・
default:
  いずれのcaseも満たさない場合の処理
}

// case文の式による判定
switch {
case 式:
  式の結果がtrueの場合の処理
case 式:
  式の結果がtrueの場合の処理
・
・
・
default:
  いずれのcaseも満たさない場合の処理
}

// 型による判定
switch case文内で有効な変数 := 変数.(type) {
case 型名
  変数の型が一致する場合の処理
case 型名
  変数の型が一致する場合の処理
・
・
・
default:
  いずれのcaseも満たさない場合の処理
}

サンプル

.
├── go.mod
└── main.go