GO语言闭包特性
package main
import "fmt"
func main() {
val1 := increment()
fmt.Println(val1()) //1
fmt.Println(val1()) //2
fmt.Println(val1()) //3
val2 := increment()
fmt.Println(val2()) //1
fmt.Println(val2()) //2
fmt.Println(val2()) //3
}
func increment() func() int {
i := 0
test := func() int {
i++
return i
}
return test
}