回调函数(多态应用)

package main
import “fmt”
type FuncType func (int,int) int
//实现加法
func Add(a,b int) int {
return a + b
}
//实现减法
func Minus(a,b int) int {
return a - b
}
//实现乘法
func Mul(a,b int) int {
return a*b
}
//回调函数指的是:函数有一个参数是函数类型,这个函数就是回调函数
//计算器,可以进行四则运算
//多态:多种形态,调用同一个接口,不同的表现,可以实现不同的结果,比如:实现加减乘除、
//先有想法,再实现功能
func Calc(a,b int , fTest FuncType) (result int) {
fmt.Println(“Calc”)
//result = fTest(a,b) //这个函数还没有实现
result = Add(a,b) //Add()必须先定义后,才能调用
return
}
func main ( ) {
a := Calc(1,1,Add)
fmt.Println("a = ",a)
}
//传统的办法不可以实现多态,调用同一个接口可以实现不同的功能

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章