一种选择是使用频道。通道在某种程度上类似于迭代器,您可以使用range关键字对其进行迭代。但是,当您发现不泄漏goroutine的情况下就无法摆脱这个循环,使用受到限制。
在go中创建迭代器模式的惯用方式是什么?
编辑:
渠道的根本问题是它们是推模型。迭代器是拉模型。您不必告诉迭代器停止。我正在寻找一种以一种很好的表达方式遍历集合的方法。我还想链接迭代器(映射,过滤器,折叠替代项)。
相关分类