Closure
闭包
package main
import (
"fmt"
)
func a() func() int {
i := 0
b := func() int {
i++
fmt.Println(i)
return i
}
return b
}
func main() {
c := a()
c()
c()
c()
a() //不会输出i
c2 := a()
c2()
c2()
c2()
}
/*
1
2
3
1
2
3
*/
闭包对象指针
外部引用函数参数局部变量
返回2个闭包
递归函数
数字阶乘 factorial
斐波那契数列(Fibonacci)
Last updated