跳到主要内容

匿名函数

匿名函数,顾名思义,没有函数名的函数。

匿名函数的定义格式如下:

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)
}