匿名函数
-
概念
没有名字的函数
func(){ fmt.Println("匿名函数") }()
-
调用方式
-
直接进行调用,通常只能使用一次。
-
赋值调用,将匿名函数赋值给某个某个函数变量,则可以调用多次
f:=func(){ fmt.Println("匿名函数2") } f()
-
-
带参数的匿名函数
func(a,b int){ fmt.Printf("带参数的匿名函数 %d %d ",a,b) }(1,3)
-
带返回值的匿名函数
res1:=func(a,b int) int { return a+b }(1,2) fmt.Print(res1) //注意这里有匿名函数调用,所以是将匿名函数调用的结果赋值给res1 res2:=func(a,b int) int { return a+b } fmt.Print(res2) //这里只是将匿名函数地址赋值给res2,因为函数类型是引用类型
-
匿名函数的用途
-
Go语言支持函数式编程
- 将匿名函数作为另一个函数的参数,也叫做回调函数
- 将匿名函数作为另一个函数的返回值,可以形成闭包结构
-