理解go的闭包
package main
import (
"fmt"
)
func test(a int) {
a++
fmt.Println(a)
}
func test2() func() int{
var a int
return func() int {
a++
return a
}
}
func main() {
//a := 0
//for i := 0; i < 10; i++ {
// test(a)
//}
//for i := 0; i < 10; i++ {
// fmt.Println(test2()())
//}
f := test2()
for i := 0; i < 10; i++ {
fmt.Println(f())
}
//var b int
//f := func() int {
// b++
// return b
//}
//for i := 0; i<10; i++{
// fmt.Println(f())
//}
}

浙公网安备 33010602011771号