Go は、バージョン 1.23 から
イテレーター (iterator)
をサポートし、ほぼすべてのものが |
|
|
|
|
|
前回の例 で見た |
|
|
|
|
|
All は、イテレーター (iterator) を返します。Go では、 イテレーターは 特別なシグネチャ をもつ関数です。 |
|
イテレーター関数は、引数として別の関数を受け取ります。
通常、この関数は |
|
イテレーターは、必ずしも対象のデータ構造を必要とせず、
有限である必要もありません!以下は、フィボナッチ数列を生成する
イテレーターを返す関数です。これは、 |
|
|
|
|
|
|
|
slices パッケージなどには、
イテレーターを操作するための便利な関数が多数含まれています。
例えば、 |
|
|
|
ループが |
|
|
Next example: Errors.