🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
为了防止匿名嵌入引起的混乱问题,参考如下约束 - template不要匿名嵌入implementer,并保证显示调用implement的方法 - template不应实现implement接口(即不提供默认实现) - 建议implement中的方法都是小写不导出 ```go package test type implementer interface { impClaim() error } type template struct { implementer implementer } func (t *template) Claim() error { return t.implementer.impClaim() } type Truck struct{ *template } func (t *Truck) impClaim() error { return nil } func NewTruck() *Truck { t := &Truck{} t.template = &template{implementer:t} return t } type TruckLevel struct{ *template } func (t *TruckLevel) impClaim() error { return nil } func NewTruckLevel() *TruckLevel { t := &Truck{} t.template = &template{implementer:t} return t } ```