分析的代码
package main func test(a int) func(i int) int { return func(i int) int { a = a + i return a } } func main() { f := test(1) a := f(2) println(a) b := f(3) println(b) }
代码比较简易,test函数产生一个闭包函数并返回,下面分析它的产生过程
test函数
package main func test(a int) func(i int) int { return func(i int) int { a = a + i return a } } func main() { f := test(1) a := f(2) println(a) b := f(3) println(b) }
代码比较简易,test函数产生一个闭包函数并返回,下面分析它的产生过程