12.Dart - Generador

Dardo - Generador

void main() {
  /**
   * 同步生成器
   */
  tongbuTo(100);
  yibuTo(100);
  diguiTo(100);
}

//同步生成器
Iterable<int> tongbuTo(int n) sync* {
  int i = 0;
  while (i < n) yield i++;
}

//异步生成器
Stream<int> yibuTo(int n) async* {
  int i = 0;
  while (i < n) yield i++;
}

//递归调用的 yield*
Iterable<int> diguiTo(int i) sync* {
  if (i > 0) {
    yield i;
    yield* diguiTo(i - 1);
  }
}
Publicado 49 artículos originales · ganado elogios 6 · Vistas a 80000 +

Supongo que te gusta

Origin blog.csdn.net/zlhyy666666/article/details/104625900
Recomendado
Clasificación