A Tour of Go moretypes/26 Exercise: Fibonacci closure 俺の答え Golang
久々にツアーオブゴの続き
go-tour-jp.appspot.com
関数が変数みたいに使えるって話
例題はフィボナッチ数列を表示するプログラムをかいてってやつ
フィボナッチといえば、クラッシュフィーバーというゲームで
青髪短髪のイケメンで
強くてかなり好きでした
手に入りにくかったし
一時は青属性のエースでしたね
package main import "fmt" // fibonacci is a function that returns // a function that returns an int. func fibonacci() func(int) int { fib := 0 preFib := 0 prePreFib := 0 return func(x int) int { if x == 0 { return 0 } if x == 1 { preFib = 1 return 1 } prePreFib = fib fib = preFib + fib preFib = prePreFib return fib } } func main() { f := fibonacci() for i := 0; i < 100; i++ { fmt.Println(f(i)) } }
prePreFibってなんだよお前
もっとスマートな方法ないんですか?
探して、勉強します
以上です