"""
python 中的闭包
1.一个外部函数(outter)内部嵌套一个内部函数(inner)
2.内部函数中对外部函数内的变量(b)进行引用(非全局变量)
3.外部函数返回值为内部函数(inner)
"""
def outter(a):
b=10010
def inner():
c=a+b
return c
return inner
/*
go 中的闭包
1.定义一个函数(outter)的返回值为一个函数(inner)
2.返回的函数(inner)在执行过程中,会使用函数(outter)中的变量(b)
*/
package main
import "fmt"
func outter() func(int) int{
b:=10010
return func(x int) int{
b+=x
return b
}
}
func main() {
inner:=outter()
inner(1)//10011 ,每次执行b的值都会改变
inner(2)//10013
}