Example:<p>package main<p>import ( "fmt"; . "linq" )<p>var Fibonacci Enumerate = func(yield Operate) error { a := 0; b := 1; for { err := yield(a); if err != nil { return err }; a, b = b, a+b } }<p>func main() { twentyFibs := Fibonacci.Take(20); twentyFibs(func(e Any) error { fmt.Printf(" %v", e); return nil }); fmt.Println() }<p>Output:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181