for <終了条件> {
}
for i:=0;i<10;i++ {
print(i)
}
// >>> 0123456789
i
がmut
で宣言されていないのに、なぜi++
と足していけるのかというところです。for in
もあるのですが、配列を扱うときに紹介したいと思います。while(true)
見たいな無限ループは条件式を省略して書けます。j := 0
for {
print(j)
if j++ == 9 {
break // ループを抜けます
}
}
// >>> 0123456789
mut k := 0
for k++ < 10 {
if 0 == k %2 {
continue // 偶数だったらループの始まりに戻る
}
print(k)
}
// >>> 13579
continue
,break
はラベルを使用することが出来ます。<ラベル名>: for // ...
// ...
continue <ラベル名>
// ...
break<ラベル名>
outer: for i := 0; i<5 ; i++ {
print("${i}:")
for j := 0;j<5 ;j++{
if j > i { // jがiより大きくなったらルートループへ
println("")
continue outer
} else if i > 3 { // iが3を超えたら終了
println("bye")
break outer
} // if
print(j)
} // for
println("ここへはこないよ")
} // for
// 0:0
// 1:01
// 2:012
// 3:0123
// 4:bye