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言語でループ処理ができるようになりました。