文章预览
在 《Go 1.23新特性前瞻》 [1] 一文中,我们提到了Go 1.23中增加的一个主要的语法特性就是 支持了用户自定义iterator ,即 range over func试验特性 [2] 的正式转正。为此,Go 1.23还在标准库中增加了 iter包 [3] ,这个包对什么是Go自定义iterator做了诠释: An iterator is a function that passes successive elements of a sequence to a callback function , conventionally named yield. The function stops either when the sequence is finished or when yield returns false , indicating to stop the iteration early. 迭代器是一个函数,它将一个序列中的连续元素传递给一个回调函数,通常称为 "yield" 。迭代器函数会在序列结束或者yield回调函数返回 false (表示提前停止迭代)时停止。 除此之外,iter包还定义了标准的iterator泛型类型、给出了有关iterator的命名惯例以及在迭代中修改序列中元素的方法等,
………………………………