假设我们有一个关于费波那契数列的匿名函数fib
。
func main() {
fib := func(n int) int {
if n == 0 {
return 0
} else if n == 1 || n == 2 {
return 1
}
return fib(n-1) + fib(n-2)
}
fmt.Println(fib(3))
}
当然,直接运行会编译失败,因为匿名函数没有名,在return
处直接使用fib
会提示undefined: fib
所以我们得先定义fib
为一个函数,var fib func(int)int
。
之后就能用了
func main() {
var fib func(int)int
fib = func(n int) int {
if n == 0 {
return 0
} else if n == 1 || n == 2 {
return 1
}
return fib(n-1) + fib(n-2)
}
fmt.Println(fib(3))
}
闭包同理
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。