Go言語のループ処理について見ていきます。
C言語やC#など他の言語ではwhileやfor、foreachなどがありますが、
Go言語ではforですべて書くことができます。
まずは一般的なforです。
他の言語と同様そう変わりません。
for i := 0; i < 10; i++ {
println(i)
}
i に初期値0を代入、ループごとにiをインクリメントし、10になったら終了といった感じです。
次に while 風なforです。
i := 0
for i < 10 {
println(i)
i++
}
やっていることは1つ目と変わりませんが、
forのあとに条件のみを書き、満たす場合のみ繰り返すといった書き方もできます。
while (true) { … } のような無限ループ風にしたい場合は以下のように条件も省略が可能です。
i := 0
for {
println(i)
i++
if i >= 10 {
break
}
}
この場合はループの中で何か条件判定してbreakしないとひたすら繰り返すことになります。
次にforeach風のループです。
list := []int{ 1, 2, 3, 4, 5 }
for index, element := range list {
println(index, element)
}
rangeでは配列からインデックスと要素を取り出します。
順番に
index=0、element=1
index=1、element=2
…
index=4、element=5
といった感じになります。
これで、Go言語でループ処理ができるようになりました。
