go 回调函数
go支持函数是另一个函数的参数
func main() {
fmt.Printf("%T\n",add)//类型是func(int, int) int
}
func add(a,b int) int{
return a+b
}
add函数类型是func(int, int) int
所以:
func main() {
fmt.Println(oppr(10,16,add))
}
func add(a,b int) int{
return a+b
}
func oppr(a,b int,func1 func(int,int) int) int{
res := func1(a,b)
return res
}
匿名回调函数
func main() {
c := func(a,b int, sub func(int,int) int) int{
fmt.Println("相减")
return sub(a,b)
}(10,4,sub)
fmt.Println(c)
}
func sub(a,b int) int{
return a-b
}

浙公网安备 33010602011771号