匿名函数
下面是一个示例
func squares() func() int{
var x int
return func() int {
x++
return x*x
}
}
函数值不仅仅是一串代码,还记录了状态
对squares的一次调用会生成一个局部变量x并返回一个匿名函数,中间的过程我们对外部的x进行了访问
所以说函数值属于引用类型
函数值也就不可以比较了
我们将函数值成为闭包
匿名函数
下面是一个示例
func squares() func() int{
var x int
return func() int {
x++
return x*x
}
}
函数值不仅仅是一串代码,还记录了状态
对squares的一次调用会生成一个局部变量x并返回一个匿名函数,中间的过程我们对外部的x进行了访问
所以说函数值属于引用类型
函数值也就不可以比较了
我们将函数值成为闭包