Go语言——通俗理解接口的概念

本文通过实际开发场景解释Go语言接口的概念,强调接口如何关注对象的行为而非类型。通过接口,可以实现不同服务器初始化的统一调用,降低耦合度,提升代码的可维护性和合作开发的效率。例如,通过接口统一调用init()方法,实现了类似C++多态的效果。
摘要由CSDN通过智能技术生成

更新:根据实际开发理解接口
给一个服务端的场景吧:有不同的服务器组成的后端,登录注册服,gateway服,处理逻辑的服务器,他们都需要在链接前启动,向一个统一的服务器发现的服务器注册自己(以便宕机改变消息的转发路径),那么他们的run()方法可以定义在一个接口中,实现用同一份启动代码,实现不同服的初始化。


接口定义了对象的行为

这是很多资料对接口的定义,对于接口而言,很难通过概念对它有个清晰的了解,那就通过实践来理解一下,对于一个项目,init函数肯定并不陌生,项目中需要初始化的有很多,以下代码用数组,切片,map表来代替要初始化的资源↓↓↓↓↓
type _array struct{}
type _slice struct{}
type _map struct{}
func (a _array) init() { fmt.Println("array init") }
func (s _slice) init() { fmt.Println("slice init") }
func (m _map) init()   { fmt.Println("map init") }
对于没有接口的面向过程而言,在需要初始化的时候,就需要显示调用↓↓↓↓↓
func main(){
	var a _array
	a.init()
	var s _slice
	s.init()
	var m _map
	m.init()
}
这样的写法显然有些繁琐&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值