Go

A Tour of Go 44 연습: 피보나치 클로져

티-스토리 2015. 10. 16. 16:04

package main import "fmt" // fibonacci is a function that returns // a function that returns an int. // F(n+2) = F(n+1) + Fn func fibonacci() func() int { fn := 0 fn1 := 0 return func() int { fn2 := fn1 + fn fn = fn1 fn1 = fn2 if fn1 == 0 {fn++} return fn2 } } func main() { f := fibonacci() for i := 0; i < 10; i++ { fmt.Println(f()) } }