举例讲解Go语言中函数的闭包使用
和变量的声明不同,Go语言不能在函数里声明另外一个函数。所以在Go的源文件里,函数声明都是出现在最外层的。
“声明”就是把一种类型的变量和一个名字联系起来。
Go里有函数类型的变量,这样,虽然不能在一个函数里直接声明另一个函数,但是可以在一个函数中声明一个函数类型的变量,此时的函数称为闭包(closure)。
例:
packagemain import"fmt" funcmain(){ add:=func(baseint)func(int)(int){ returnfunc(iint)(int){ returnbase+i } } add5:=add(5) fmt.Println("add5(10)=",add5(10)) }