スイッチ
switch
ステートメントは、if - else
ステートメントのシーケンスを書くための短い方法です。これは、条件式と等しい値を持つ最初のケースを実行します。
Goのスイッチは、C、C++、Java、JavaScript、PHPのものと似ていますが、Goは選択されたケースのみを実行し、続くすべてのケースを実行しません。実際、他の言語で各ケースの最後に必要な break
ステートメントは、Goでは自動的に提供されます。もう一つの重要な違いは、Goのスイッチケースは定数である必要がなく、関与する値は整数である必要がないことです。
package main
import (
"fmt"
"runtime"
)
func main() {
fmt.Print("Go runs on ")
switch os := runtime.GOOS; os {
case "darwin":
fmt.Println("OS X.")
case "linux":
fmt.Println("Linux.")
default:
// freebsd, openbsd,
// plan9, windows...
fmt.Printf("%s.\n", os)
}
}