github.com/packtpublishing/learning-functional-programming-in-go@v0.0.0-20230130084745-8b849f6d58c4/Chapter01/02_fib/03_channel.go (about) 1 package fib 2 3 func Channel(ch chan int, counter int) { 4 n1, n2 := 0, 1 5 for i := 0; i < counter; i++ { 6 ch <- n1 7 n1, n2 = n2, n1 + n2 8 } 9 close(ch) 10 } 11 12 func FibChanneled(n int) int { 13 n += 2 14 ch := make(chan int) 15 go Channel(ch, n) 16 i := 0; var result int 17 for num := range ch { 18 result = num 19 i++ 20 } 21 return result 22 } 23 24 25