首先看若是在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接口实现原则的,即全部的方法都要实现,能够实现多个接口。