国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

Go語言中接口組合的實現方法

2020-04-01 19:21:55
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Go語言中接口組合的實現方法,實例分析了接口中包含接口的實現技巧,需要的朋友可以參考下
 

本文實例講述了Go語言中接口組合的實現方法。分享給大家供大家參考。具體實現方法如下:

在Go語言中,可以在接口A中組合其它的一個或多個接口(如接口B、C),這種方式等價于在接口A中添加接口B、C中聲明的方法。

 

復制代碼代碼如下:
//接口中可以組合其它接口,這種方式等效于在接口中添加其它接口的方法  
type Reader interface {  
    read()  
}  
type Writer interface {  
    write()  
}  
  
//定義上述兩個接口的實現類  
type MyReadWrite struct{}  
  
func (mrw *MyReadWrite) read() {  
    fmt.Println("MyReadWrite...read")  
}  
  
func (mrw *MyReadWrite) write() {  
    fmt.Println("MyReadWrite...write")  
}  
  
//定義一個接口,組合了上述兩個接口  
type ReadWriter interface {  
    Reader  
    Writer  
}  
  
//上述接口等價于:  
type ReadWriterV2 interface {  
    read()  
    write()  
}  
  
//ReadWriter和ReadWriterV2兩個接口是等效的,因此可以相互賦值  
func interfaceTest0104() {  
    mrw := &MyReadWrite{}  
    //mrw對象實現了read()方法和write()方法,因此可以賦值給ReadWriter和ReadWriterV2  
    var rw1 ReadWriter = mrw  
    rw1.read()  
    rw1.write()  
  
    fmt.Println("------")  
    var rw2 ReadWriterV2 = mrw  
    rw2.read()  
    rw2.write()  
  
    //同時,ReadWriter和ReadWriterV2兩個接口對象可以相互賦值  
    rw1 = rw2  
    rw2 = rw1  
}

 

希望本文所述對大家的Go語言程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会泽县| 罗山县| 咸宁市| 额敏县| 班玛县| 武定县| 雷州市| 山阳县| 汾阳市| 雷波县| 岳普湖县| 北票市| 长治县| 呼玛县| 嘉善县| 图们市| 疏勒县| 民丰县| 阳江市| 五河县| 八宿县| 温州市| 沙坪坝区| 东辽县| 栾川县| 天等县| 永靖县| 双辽市| 海兴县| 武安市| 东乌珠穆沁旗| 佛学| 昌黎县| 乐业县| 商丘市| 武夷山市| 名山县| 乌兰察布市| 繁峙县| 政和县| 青州市|