Consume Iterator
只要迭代器上的某个方法 A 在其内部调用了 next
方法,那么 A 就被称为消费性适配器:因为 next
方法会消耗掉迭代器上的元素,所以方法 A 的调用也会消耗掉迭代器上的元素。
注意,这里会拿走的是迭代器的所有权,而非原来变量的所有权。例如,sum()
方法
1 | fn main() { |
Adapt Iterator
会返回一个新的迭代器。迭代器仍然是惰性的,不操作就不会进行求值。这也意味着我们需要一个 consumer 来消费这个迭代器,如 .collect()
方法。