for文

Go の繰り返し構文には for しかない。だけどこの for には 3 通りの使い方があって、ひとつは普通の for、ひとつは while 的なもの、そしてもひとつはいわゆる for each 的なものだ。
順番に見ていこう。

まずひとつめ、普通の for。「普通の」というのは、繰り返し用変数の初期化と繰り返し条件、変数の更新処理がある C や JavaScript なんかと同じ、くらいの意味。ただしカッコは要らない。

names := []string{ "Andy", "Bill", "Charlie" } というところは、スライスっていう配列みたいなものを作ってるんだけど、これについては別の機会に書く。
実行してみよう。

^o^ > go run for.go
Andy
Bill
Charlie

ふたつめの使い方は while のようなもの。というか while そのものだ。for の後に繰り返し条件だけを書く。

^o^ > go run for_while.go
Andy
Bill
Charlie

最後はいわゆる for each 的な使い方。range キーワードを使って、スライス(または配列)のインデックスと要素を一つずつ取り出して繰り返す。

^o^ > go run for_range.go
0 Andy
1 Bill
2 Charlie

ここではインデックスを idx 変数で受け取っているけど、場合によっては使わないこともある。そういう時は次のように _ (アンダースコア)で受けてやる。そうしないと idx 変数を使っていない、という警告を受けることになる。アンダースコアは、「ここに入る値は使わないよ」ということを示すものだ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です