一.匿名函数定义
- 匿名函数没有名字,如何调用-->立即调用,或者赋值给一个标识符
package main
import "fmt"
func main() {
v := func(x, y int) int {
return x + y
}(3, 5) // 声明并调用一次性使用
fmt.Printf("v: %v\n", v)
//等价于func add(x,y int) int{}
add := func(x, y int) int { //这种是局部函数,因为 :=不能在全局使用 //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个就是高阶函数