導入
「もし〜なら」で処理を分けるのが if です。Go の if は条件を 丸カッコで囲みませんが、ブロックの {} は必須です。
説明
package main
import "fmt"
func main() {
score := 72
if score >= 80 {
fmt.Println("合格(優)")
} else if score >= 60 {
fmt.Println("合格")
} else {
fmt.Println("不合格")
}
}
- 条件式にカッコは不要(
if score >= 80)。 {はifと同じ行に置く(改行するとコンパイルエラー)。else/else ifは、前のブロックを閉じる}と同じ行に書きます。
Go には「if の中でだけ使う変数」を条件の前に宣言できる書き方があります。
if n := score % 2; n == 0 {
fmt.Println("偶数です")
} else {
fmt.Println("奇数です", n)
}
n := score % 2; で作った n は、この if〜else の中だけで有効です。使う範囲を最小に絞れるので、Go でよく使われる書き方です。
やってみよう
score の値を色々変えて、どのメッセージが表示されるか追ってみましょう。>= を > に変えると境界(ちょうど 80 点など)の判定が変わります。