# Dart-Generator 生成器語法紀錄 Dart Generator 分為**同步生成器**與**異步生成器**兩種,用來產生一連串的序列,通常用於服務器 如果是同步,返回的是一個Iterable 物件 如果是異步,返回的是一個Stream 物件 ## 同步生成器 ### 關鍵詞 sync* 搭配 yield ```dart= main(){ var it = naturalsTo(5).iterator; while(it.moveNext()){ print(it.current); } } Iterable<int> naturalsTo(int n) sync*{ print('start'); int k = 0; while(k < n){ yield k++; } print('end'); } ``` ## 異步生成器: ### 關鍵詞 async* 搭配 yield ###### tags: `Dart`