闭包,简而言之就是指能够读取其他函数内部变量(局部变量)的函数。也可以理解为函数内嵌函数。
def outside():
a=1
b=2
def inside():
return a+b
c = inside()
return c
outside()
代码输出:
3
package main
import "fmt"
func outside() int {
a := 1
b := 2
return func(c int, d int) int { //用匿名函数作为返回值
return c + d
}(a, b)
}
func main() {
r := outside()
fmt.Println(r)
}
代码输出:
3