Manipulating Data With Iterators in Go

Several months ago I started learning Go language and came across an interesting library go-linq which is an implementation of Microsoft’s LINQ technology in Go. And while it is a good library I find its performance to be really weak because of its design. Trying to improve the situation resulted in a complete rewrite using iterators in a lightweight and simple manner.