闭包
简单示例
package main
import (
"fmt"
"runtime"
)
func main() {
print(runtime.GOOS) // 判断当前操作系统
a := func(x, y int) int { return x + y }(3, 4)
fmt.Printf("%d\n", a)
var b = func() int {
sum := 0
for i := 0; i <= 1e6; i++ {
sum += i
}
return sum
}()
fmt.Printf("%d\n", b)
ff()
}
func ff() {
for i := 0; i < 4; i++ {
g := func(i int) { fmt.Printf("%d ", i) }
g(i)
fmt.Printf(" - g is of type %T and has value %v\n", g, g)
}
}