embedding】 【golang】


Go中没有子类。相反,有接口和结构的嵌入

ReadWriter的实现必须同时满足Reader和Writer

type ReadWriter interface {

    Reader

    Writer

}

服务器公开了Logger的所有方法

type Server struct {

    Host string

    Port int

    *log.Logger

}

以通常的方式初始化嵌入式类型

server := &Server{"localhost", 80, log.New(...)}

在嵌入式结构上实现的方法通过

server.Log(...) calls server.Logger.Log(...)

嵌入类型的字段名是它的类型名(在这里是Logger)

var logger *log.Logger = server.Logger


腾图小抄 SCWY.net v0.03 小抄561条 自2022-01-02访问366563次