func (qc *QuackCounter) Init() {
qc.a = func() (func() int) {
var i int = 0
return func() int{
i++
return i
}
//return i
}()
}
闭包函数的精髓在于得到保存该函数的变量之后,反复调用,改变并返回只存在于闭包之中变量值,不被外界的其他因素干扰,而不是反复获得该闭包所返回的函数,关键是调用,获取只需一次就够。
func (qc *QuackCounter) Init() {
qc.a = func() (func() int) {
var i int = 0
return func() int{
i++
return i
}
//return i
}()
}
闭包函数的精髓在于得到保存该函数的变量之后,反复调用,改变并返回只存在于闭包之中变量值,不被外界的其他因素干扰,而不是反复获得该闭包所返回的函数,关键是调用,获取只需一次就够。