go的闭包00
点击查看代码
package main
import "fmt"
func main() {
var f = Adder() // 只要f变量存货,add函数中的x就一直存活,所有的变量都会随着x的变化而变化
fmt.Print(f(1)," \n")
fmt.Print(f(20)," \n")
fmt.Print(f(300),"\n")
var f2 = Adder()
fmt.Print(f2(5))
}
func Adder() func(int) int {
var x int // 只要f变量存货,add函数中的x就一直存活,所有的变量都会随着x的变化而变化
return func(d int) int {
x += d
return x
}
}
输出:
点击查看代码
1
21
321
5
写入自己的博客中才能记得长久