Go語言聖經閱讀 第十一周

2021-10-19 07:31:15 字數 752 閱讀 9424

介面型別具體描述了一系列方法的集合,乙個實現了這些方法的具體型別是這個介面型別的例項。

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 執行...