介面型別具體描述了一系列方法的集合,乙個實現了這些方法的具體型別是這個介面型別的例項。
io.writer型別是用得最廣泛的介面之一,因為它提供了所有型別的寫入bytes的抽象,包括檔案型別,記憶體緩衝區,網路鏈結,http客戶端,壓縮工具,雜湊等等。io包中定義了很多其它有用的介面型別。reader可以代表任意可以讀取bytes的型別,closer可以是任意可以關閉的值,例如乙個檔案或是網路鏈結。(到現在你可能注意到了很多go語言中單方法介面的命名習慣)
package io
type reader inte***ce
type closer inte***ce
再往下看,我們發現有些新的介面型別通過組合已有的介面來定義。下面是兩個例子:
type readwriter inte***ce
type readwritecloser inte***ce
上面用到的語法和結構內嵌相似,我們可以用這種方式以乙個簡寫命名乙個介面,而不用宣告它所有的方法。這種方式稱為介面內嵌。儘管略失簡潔,我們可以像下面這樣,不使用內嵌來宣告io.readwriter介面。
type readwriter inte***ce
或者甚至使用一種混合的風格:
type readwriter inte***ce
上面3種定義方式都是一樣的效果。方法順序的變化也沒有影響,唯一重要的就是這個集合裡面的方法。 第十一周閱讀專案(1)
問題及 1 閱讀程式,寫出執行結果 include using namespace std class data data private int x class base base private int b1 class derived public base derived private d...
第十一周閱讀程式
閱讀程式 1 include using namespace std class data data private int x class base base private int b1 class derived public base derived private data d1 int ...
第十一周閱讀程式(一)
include using namespace std class data data private int x class base base private int b1 class derived public base derived private data d1 int main 執行...