比如我想写一个生成器来迭代一棵树。我可以使用递归函数调用吗?Iteratorforallchildren(node){for(varninnode.children){yieldn;forallchildren(n);}}看起来递归调用只生成迭代器而不像遍历树。有没有更好的办法? 最佳答案 如果用sync*Iterable(不是Iterator)的函数中使用yield/.此外,要从Iterable生成元素,您必须使用yield*。所以你可以这样写你的代码:Iterableforallchildren(Nodenode)sync*{f