The latest Go version added iterator support, allowing for looping over various data types. Chaining iterators like in JavaScript is not possible in Go, requiring multiple function calls. To address this, the author created a wrapper using the new iterators and the iter package, enabling clean chaining similar to JavaScript. By introducing the Iteratorstruct, functions like Collect, Each, Reverse, Map, and Filter were implemented, providing a more streamlined approach to handling iterators. The author showcases examples with numbers, runes, and structs, demonstrating the effectiveness of the new abstraction in simplifying Go programming.
https://xnacly.me/posts/2024/fun-with-iterators/