一.匿名函数定义
- 匿名函数没有名字,如何调用-->立即调用,或者赋值给一个标识符
- 匿名函数的作用: 把匿名函数作为一个函数的参数,回调函数
- 匿名函数的作用:把匿名函数作为另一个函数的返回值,形成闭包
package main
import "fmt"
func main() {
v := func(x, y int) int {
return x + y
}(3, 5) // 声明并调用一次性使用 ;把x+y的结果赋值给v
fmt.Printf("v: %v\n", v)
//定义匿名函数,不调用
//等价于func add(x,y int) int{}
add := func(x, y int) int { //这种是局部函数,因为 :=不能在全局使用 //把func匿名函数的地址给了add,而后进行调用//add(1,2)可以传参使用
return x + y
}
fmt.Printf("%T\n", add)
var add1 = func(x, y int) int { //这种是局部函数,因为 :=不能在全局使用
return x - y
}
fmt.Printf("%T\n", add1)
}
二.高阶函数
- 什么是高阶函数:
返回值是一个函数
形参是函数, 满足2个或1个就是高阶函数
二.匿名函数的应用