- 定义Target接口
type Target interface {
Request() string
}
- 定义Adaptee接口
type Adaptee interface {
SpecificRequest() string
}
- 实现Adaptee接口
type AdapteeImpl struct {}
func (a *AdapteeImpl) SpecificRequest() string {
return "Adaptee method is called"
}
- 定义Adapter结构体并实现Target接口
type Adapter struct {
Adaptee Adaptee
}
func (a *Adapter) Request() string {
return a.Adaptee.SpecificRequest()
}
- 客户端代码
func main() {
adaptee := &AdapteeImpl{}
adapter := &Adapter{
Adaptee: adaptee,
}
fmt.Println(adapter.Request())
}