Iterator em Go
O Iterador é um padrão de projeto comportamental que permite a passagem sequencial através de uma estrutura de dados complexa sem expor seus detalhes internos.
Graças ao Iterator, os clientes podem examinar elementos de diferentes coleções de maneira semelhante usando uma única interface iterador.
Exemplo conceitual
A ideia principal por trás do padrão Iterator é extrair a lógica de iteração de uma coleção em um objeto diferente denominado iterador. Este iterador fornece um método genérico de iteração sobre uma coleção independente de seu tipo.
collection.go: Coleção
userCollection.go: Coleção concreta
iterator.go: Iterador
userIterator.go: Iterador concreto
user.go: Código cliente
main.go: Código cliente
output.txt: Resultados da execução
Baseado em: Golang By Example