国产探花免费观看_亚洲丰满少妇自慰呻吟_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語言程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蓬莱市| 佛坪县| 东宁县| 通河县| 保山市| 原阳县| 瓮安县| 普陀区| 堆龙德庆县| 临夏市| 黄骅市| 铁力市| 岳阳市| 石屏县| 忻城县| 湖南省| 政和县| 太和县| 诸暨市| 门源| 青铜峡市| 广水市| 盐城市| 佛教| 内黄县| 延寿县| 九江县| 临桂县| 峨山| 洮南市| 垦利县| 黔南| 乃东县| 阿拉尔市| 山东| 镇沅| 化州市| 南昌市| 淳安县| 竹山县| 三穗县|