首先看若是在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接口實現原則的,即全部的方法都要實現,能夠實現多個接口。