interface/介面

董雷發表於2022-01-25

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 協議》,轉載必須註明作者和本文連結
good good study day day up

相關文章