← Go コース
13. for range — 配列・スライス・マップ・文字列を回す
for に range を組み合わせると、コレクションの要素を順番に取り出して繰り返せます。スライスや配列では、各反復でインデックスと値の 2 つが得られます。インデックスが不要なときは、アンダースコア _ を使って for _, v := range nums のように値だけを受け取れます。
マップに対して range を使うと、キーと値の組が取り出せます。ただしマップを range で回す順序は実行のたびに変わる(保証されない)点に注意してください。文字列を range で回すと、バイト位置と rune(1 文字)が得られ、UTF-8 の文字単位で処理できます。
Go 1.22 からは整数に対しても range が使えるようになりました。for i := range 5 と書くと i が 0 から 4 まで動く、というシンプルなループになり、決まった回数だけ繰り返したいときに便利です。下のコードで各コレクションへの range を確認できます。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
Go