yohhoyの日記

技術的メモをしていきたい日記

for文の3機能

プログラミング言語Goの for文 についてメモ。Go言語のfor文では、下記3つの言語機能を実現する。*1

  • [A]「初期化; 継続条件; 更新」を指定する反復処理[通常のfor構文]
  • [B] 範囲(range)を指定する反復処理[範囲ベースfor構文]
  • [C] 継続条件のみを指定する反復処理[while文相当]
// [A] for節
for i := 0; i < 10; i++ { /*...*/ }

// [B] range節
var a [10]string
for i, s := range a { /*...*/ }

// [C] 単純形式
x, y := 1, 2
for x < y { /*...*/ }

// [C] 無限ループ
for { /*...*/ }

ノート:当初は for { }で無限ループには違和感があったが、C言語系の for (;;) { } で無限ループ記述できるのと同じか。

関連URL

*1:角括弧内はC言語風シンタクスを採用した他言語で相当する構文。