package main
import "fmt"
func adde() func(i int) int{
sum:=0
return func(i int) int{
sum = sum +i
return sum
}
}
func main() {
f:= adde()
for i:=0; i<10;i++ {
fmt.Printf("0+1+...+%d=%d\n",i,f(i))
}
}
注意需要理解闭包的概念,是函数与外界的环境参数一起形成了闭包,所谓外界的环境也就是这个函数变量中带的参数或者是函数变量中的匿名函数需要用的参数(比如这里的sum)