回調函數(多態應用)

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)
}
//傳統的辦法不可以實現多態,調用同一個接口可以實現不同的功能

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