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
}
posted @ 2019-10-14 10:27  星云惊蛰  阅读(313)  评论(0)    收藏  举报