package adapter //目标接口 type Target interface { Request() string } //被适配的目标接口 type Adaptee interface { SpecicalRequest() string } //被适配接口的工厂函数 func NewAdaptee() Adaptee { return &adapteeImpl{} } //被适配的目标类 type adapteeImpl struct { } func (a *adapteeImpl) SpecificRequest() string { return "adaptee method" } type adapter struct { adaptee Adaptee } func NewAdapter(adaptee Adaptee) Target { }