interface
描述
介面是一種約定,它是一個抽象的型別,和我們見到的具體的型別如int、map、slice等不一樣。具體的型別,我們可以知道它是什麼,並且可以知道可以用它做什麼;但是介面不一樣,介面是抽象的,它只有一組介面方法,我們並不知道它的內部實現,所以我們不知道介面是什麼,但是我們知道可以利用它提供的方法做什麼。
具體案例
//定義一個結構體
type BoolEnumStruct struct {
Age int
Number int
}
//定義一個介面
type BoolInter interface {
Stop() bool
Test() bool
}
//當前結構體實現 介面的方法
func (receiver BoolEnumStruct) Stop() bool {
return true
}
//當前結構體,實現另外一個方法,只有全部實現才是真正的實現
func (receiver BoolEnumStruct) Test() bool {
return false
}
//返回物件是介面
func New() BoolInter {
//返回介面體,這個結構體必須要實現了 BoolInter 這個介面,否則不能用這個介面接收
return BoolEnumStruct{1,1}
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結