GO语言学习系列十——GO的接口

接口(interface)

GO语言的接口是非常灵活的,它通过一种方式来声明对象的行为,谁实现了这些行为,就相当于实现了这个接口接口里面声明各种方法的集合,但接口本身不去实现这些方法所要的一些操作,因为这些方法没有被实现,所以它们是抽象的方法,这就非常像其它语言里面向对象的实现抽象方法一样,只不过其它语言需要继承然后去实现相对应的方法,而GO不需要继承,你只要在结构中声明和实现了这些方法,也就相当于你实现了这个抽象方法接口声明格式

一个简单的接口实现

输出为:

说明:我们定义了 的接口,并声明了两个方法,我们定义了 结构并声明了一个name的变量,但我们通过方法特性,对结构也同样声明了两个方法,在GO中,你只要实现了接口中定义的方法,默认就代表你类似于其它语言中的继承,继承了那个接口,所以我们在 函数中,就可以通过声明接口和结构进行相对应的操作,从而达到代码重复使用

接口类型的判断

在实际的项目中可能会用到多个接口来相互应用,这里就映射出一个新的需求,就是判断这个接口的类型,在GO中获得接口的类型是 ,也就是这样 但我们实际是这样的

上面是对单一的类型的判断,如果要判断多个呢?我们经常是这样的,还记得的switch吧

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180127A0EXQH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励