Dev Study
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
公式ドキュメントで詳しく ↗