go語言之接口函數

"——————人與人之間還是簡單點好————————"

函數接口的使用方式
//接口方法
type Client interface {
   IsConnected() bool
   IsClose() bool
}

type client struct {
   I        bool
   Miss    string
   You     int32
   //...anything else !
}

//結構體實現的方法
func (c *client) IsConnected() bool {//...
}

func (c *client) IsClose() bool {//...
}

一般性的使用就是client.IsConnection()

重點注意:

將實例的類型方法 賦值給接口函數。
二者必須完全相同,或者後者是前者的子集,如果接口函數不等於|少於就實現不了賦值
換句話說就是:接口中所有方法必須均被實現

{ 1,2,3 --> 1,2      可以      }     大不了3不做
{ 1,2      --> 1,2 ,3 不可以 }    因爲沒3完成不了賦值

3.接口函數的便捷體現在 使用接口調用實例化結構體的方法:
例如:C.IsConnection() 接口變量C使用了結構體的方法

func main(){ 

   c := new(client) //指針類型 *client   
   //或者c := &client{}
 
   var C Client

   C = c
   
   C.IsConnection() //用接口函數實現 內容
 }
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章