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