java工程师对go中interface的理解

本文通过实例详细解析了Go语言中接口的定义与实现过程,包括如何定义接口、实现接口的具体方法,以及与Java接口实现的对比,帮助读者深入理解Go语言的接口机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先看如果在go中使用interface
1.定义interface
type person interface {
Speak() string
Walk()
sex() string
}
 
2.interface实现
type male struct {
}
 
func (p male) Speak() string {
return "man"
}
func (p male) Walk(){
fmt.Println("wolk like a man")
}
func (p male) sex() string {
return "male"
}
 
如果你之前从事的是java的开发,肯定很纳闷,person 和male看不出来任何的关系呀,怎么成了person的实现了呢。
如果非要用java的思想向里面套的话,那么我们可以这样理解,这个就相当于male是person的实现,是一种隐式的实现,这样是不是就好理解了。其他的其实也是遵循java接口实现原则的,即所有的方法都要实现,可以实现多个接口。

转载于:https://my.oschina.net/u/1013544/blog/2992360

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值