go语言多态概念 使用回调函数

之前一直理解不了多态的概念,现在有所感悟,多了不说先上代码

type DuoTai  func(int ,int) int
//加法
func  Add ( a,b int )  int  {
	c := a+b
	return c
}
//乘法
func  Mul( a,b int ) int {
	m:= a * b
	return  m
}

func CallBack (a , b int , d DuoTai) {
	 re:=d(a,b)
	 fmt.Println("vaule:" ,re)
}

func main() {
	fmt.Println("begin...")
	CallBack(1,2,Add)     //     3
	CallBack(2,3,Mul)      //     6
	fmt.Println("End...")
}

回调函数有个明显的特征,就是在入参的时候,有个函数当入参

平时直接使用普通的函数调用不香吗?下面简单的使用一样可以得到相同结果,

 

为什么要使用这种回调函数呢?下面讲一下为什么崇拜使用回调函数:

这个回调函数就是先定义的一种形态,不知道里面是什么函数,什么功能,先定义在这里,不管他,如果当你有新的需求时,可以使用这种先定义好的形态,直接写新的需求,在进行调用,而像这种普通的函数写完就是固定的函数,得不到变化。

(其实type这个函数也是挺神奇的,可以定义接口,类 这些常使用的,还可以定义函数,int,string这种类型)

 

下面开始讲讲上面的那段代码:

这样就可以得到1+2的值为3 ,当你突然想使用乘法的时候,不用改代码,直接添加函数通过回调来调用

如果你想不如直接做成计算器,就可以直接添加 除法和减法,都是通过回调实现多种形态(上面的加减乘除),形成计算器。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值