1.7.3 接口的组合

  1. 在Go语言中,不仅结构体与及饿哦固体之间可以嵌套,接口与接口之间也可以通过嵌套创造出新的接口

  2. 一个接口可以包含一个或多个其他的接口,相当于直接将这些内嵌接口的方法举例在外层接口中一样

  3. 如果接口中的方法都被实现,则这个接口中的所有嵌套接口的方法均可以被调用

  4. 接口的组合很简单,直接将接口名写入接口内部即可

  5. 另外还可以在接口内再定义自己的接口方法,示例如下:

    // Interface1 接口1
    type Interface1 interface {
    	Write(p []byte) (n int, err error)
    }
    
    // Interface2 接口2
    type Interface2 interface {
    	Close() error
    }
    
    // InterfaceCombine 接口组合
    type InterfaceCombine interface {
    	Interface1
    	Interface2
    }

    备注:

    1. 定义了三个接口,分别是Interface1、Interface2,还有InterfaceCombine

    2. InterfaceCombine这个接口由Interface1、Interface2两个接口嵌入,即InterfaceCombine同时拥有了Interface1、Interface2的特性

Last updated