```
package main
import "fmt"
func fact(n int) {
if n == 0 {
return 1
}
return n * fact(n - 1)
}
func main() {
fmt.Println(fact(7))
var fib(n int) int
fib = func(n int) int {
if n < 2 {
return n
}
return fib(n-1) + fib(n-2)
}
fmt.Println(fib(7))
}
```
遞迴的寫法就照正常樣子 如上面的 fact()
但網頁中寫 fib() 的描述如下
Closures can also be recursive, but this requires the closure to be declared with a typed
var
explicitly before it’s defined.
但我看不出來 fib 是 closure
所以... 以後如果有看出來再補充
執行結果:
5040
13
沒有留言:
張貼留言