Go语言中接口组合的实现方法
2015-02-08 11:59
639 查看
本文实例讲述了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语言程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Go语言中接口组合的实现方法
- asp.net实现组合查询的一种方法
- 利用ICallbackEventHandler接口实现无刷新的方法(3)--示例
- 支付宝Payto接口的C#.net实现方法
- 组件图 为组件配的接口 及实现方法
- 把接口和实现分开的方法
- lotus notes 开发中BS下实现组合查询的方法
- C#中显/隐式实现接口及其访问方法
- private/实现有多个相同方法的接口
- 如何实现两个接口中的两个名称相同的方法?
- 在类中实现的接口的方法需要加上“public”关键字
- 组合快捷键的实现方法
- (轉貼) C++接口与实现分离的2种方法 (C/C++)
- 地磅称量系统之(53)在封装对象的类库中实现包括IDataErrorInfo接口提供的所有方法和并且扩展对异常具有添加和删除功能的基本业务对象基类
- 利用ICallbackEventHandler接口实现无刷新的方法(2)
- C++接口与实现分离的2种方法
- Java中使用接口实现多继承和多态的方法
- 利用Windows Group实现基于角色的WCF接口方法调用授权
- 只实现接口中的其中一个方法
- 需要区分在接口方法注释和方法实现的注释.