条件分岐

if文

if文を使うことで、条件式の結果に応じて処理を切り替えることができます。条件にはブーリアン型の値を指定します。

x := 3
if x > 10 {
    fmt.Println("大")
} else if x > 5 {
    fmt.Println("中")
} else {
    fmt.Println("小")
}

Go言語では条件式を括弧で囲む必要はありません。

switch文

switch文を使うと値に応じて処理を切り替えることができます。対応するcase 値の処理が実行されます。

C言語などのswitch文では各caseでbreakを書かないとその下のcaseも実行されてしまいますが

Go言語では各caseの終わりにbreakがなくても一つのcaseの実行のみでswitch文を抜けます。

どのcaseにも当てはまらなかった場合、defaultで指定した処理が実行されます。

x := 1
switch x {
    case 1:
        fmt.Println("a")
    case 2:
        fmt.Println("b")
    case 3:
        fmt.Println("c")
    default:
        fmt.Println("unknown")
}
// aと表示される

Go言語ではswitchの各caseに条件式を書くこともできます

x := 70
switch {
    case x == 100:
        fmt.Println("S")
    case x >= 80:
        fmt.Println("A")
    case x >= 60:
        fmt.Println("B")
    default:
        fmt.Println("C")
}
// Bと表示される