十九:GO語言的接口(interface)

基本介紹

  interface類型可以定義一組方法,但是這些不需要實現,並且interface不能包含任何變量。到某個自定義類型(比如結構體)要使用的時候,在根據具體情況把這些方法實現

 

基本語法

  type 接口名 interface{

    方法1(參數列表) 返回值列表

    方法2(參數列表) 返回值列表

  }

 

實現接口

  func (t 自定義類型) 方法名1(參數列表)返回值列表{}

  func (t 自定義類型) 方法名2(參數列表)返回值列表{}

 

  1.接口裏的所有方法都沒有方法體,即接口的方法都是沒有實現的方法。接口體現了程序設計的多態和高內聚低耦合的思想

  2.Golang中的接口,不需要顯式的實現,只要一個變量,含有接口類型中的所有方法,那麼這個變量就實現這個接口,因此,Golang中實現接口不需要任何關鍵字

 

注意事項

  1.接口本身不能創建實例,但是可以指向一個實現了該接口的自定義類型的變量(實例)

  2.接口中所有的方法都沒有方法體,即都是沒有實現的方法

  3.在Golang中,一個自定義類型需要將某個接口的所有方法都實現,我們說這個自定義類型實現了該接口

  4.一個自定義類型只有實現了某個接口,才能將自定義類型的實例(變量)賦給接口類型

  5.只要是自定義數據類型,就可以實現接口,不僅僅是結構體類型

  6.一個自定義類型可以實現多個接口

  7.Golang接口中不能有任何變量

  8.一個接口可以繼承多個別的接口,但是如果要實現該接口,也必須實現其他接口的多有方法

  9.interface類型默認是一個指針(引用類型),如果沒有對interface初始化就使用,那麼會輸出nil

  10.空接口interface{}沒有任何方法,所以所有類型都實現了空接口

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章