您好,登錄后才能下訂單哦!
go語言中的interface是一組未實現的方法的集合,如果某個對象實現了接口中的所有方法,那么此對象就實現了此接口。與其它面向對象語言不同的是,go中無需顯示聲明調用了哪個接口。
如上結構S實現了I的兩個方法,因此S實現了I。因為S實現了I,因此可以調用f向其傳遞S類型值得指針。
總結如下:
(1)使用“comma, ok” 來判斷一個接口類型是否實現了某個特定接口:
(2)聲明為 interface 類型的變量,可以存儲任何實現了 interface 中所有方法的類型的變量
(3)空接口可代表任何類型,可做形參和返回類型
(4)interface組合
將一個 interface1 嵌入到另一個 interface2 的聲明中,其作用相當于把 interface1 的函數包含到 interface2 中,但是組合中不同有重復的方法
注:
a. 只要兩個接口中的方法列表相同(與順序無關),即為相同的接口,可以相互賦值
b. interface1 的方法列表屬于另一個 interface2 的方法列表的子集,interface2 可以賦值給 interface1,反之不成立(因為方法缺失),interface2 中的方法會覆蓋 interface1 中同名的方法
c. 可以嵌入包中的 interface
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。