1
0
mirror of https://github.com/tmrts/go-patterns.git synced 2024-11-27 23:46:06 +03:00

concurrency/generators: remove leftover implementation

This commit is contained in:
Tamer Tas 2016-10-20 06:46:53 +03:00 committed by GitHub
parent 089bb2acbd
commit af1dfcd39f

View File

@ -1,43 +0,0 @@
package main
import (
"fmt"
)
//FibonacciClosure implements fibonacci number generation using closure
func FibonacciClosure() func() int {
a, b := 0, 1
return func() int {
a, b = b, a+b
return a
}
}
//FibonacciChan implements fibonacci number generation using channel
func FibonacciChan(n int) chan int {
c := make(chan int)
go func() {
a, b := 0, 1
for i := 0; i < n; i++ {
c <- b
a, b = b, a+b
}
close(c)
}()
return c
}
func main() {
//closure
nextFib := FibonacciClosure()
for i := 0; i < 20; i++ {
fmt.Println(nextFib())
}
//channel
for i := range FibonacciChan(20) {
fmt.Println(i)
}
}