匿名函数
匿名函数,顾名思义,没有函数名的函数。
匿名函数的定义格式如下:
func(参数列表)(返回参数列表){
函数体
}
匿名函数可以在使用函数的时候再声明调用
//(1)
(func() {
fmt.Println("yuan")
})()
//(2)
var z =(func(x,y int) int {
return x + y
})(1,2)
fmt.Println(z)
也可以将匿名函数作为一个func
类型数据赋值给变量
var f = func() {
fmt.Println("yuan")
}
fmt.Println(reflect.TypeOf(f)) // func
f() // 赋值调用调用
Go语言不支持在函数内部声明普通函数,只能声明匿名函数。
func foo() {
fmt.Println("foo功能")
f := func(){
fmt.Println("bar功能")
}
fmt.Println(f)
}