導入
Go のループは for の1種類だけです。他言語の while に当たるものも for で書きます。書き方を変えるだけで3つの使い方をカバーします。
説明
① 回数を数えるループ(初期化; 条件; 更新)
package main
import "fmt"
func main() {
for i := 1; i <= 5; i++ {
fmt.Println(i, "回目")
}
}
② while のように条件だけ
n := 1
for n < 100 {
n = n * 2
}
fmt.Println(n) // 128
③ 無限ループ(break で抜ける)
count := 0
for {
count++
if count == 3 {
break // ループを抜ける
}
}
i++は「1増やす」。Go には++iのような前置はありません。breakでループを抜け、continueでその周だけ飛ばして次へ進みます。
やってみよう
①の i <= 5 を i < 5 に変えると、5回目が表示されなくなります。ループの「終わり方」は境界条件でよく間違えるので、条件を紙に書いて確かめる癖をつけましょう。