Dart日記30日目【ジェネレーター[同期ジェネレーター]】
同期ジェネレーター
まず戻り値をIterable型にして、次に引数の後に*syncキーワードを記述
最後にreturnの代わりにyieldキーワードで戻す値を記述する
Iterable<int> getRange(int start, int end) sync*{
print('called getRange()');
for(int i = start; i <= end; i++){
print('before yield');
yield i;
print('after yield');
print('\n');
}
}
呼び出す側は普通にイテレーターを利用すると同じように記述する
main(){
final numbers = getRange(1,10);
for(int val in numbers){
print('before print val');
print(val);
print('after print val');
}
}
この記事が気に入ったらサポートをしてみませんか?