给定一个接口(interface)和两个(或更多)实现,我很难在扩展功能时轻松切换实现。例如,假设有一个支持Inc和String的接口(interface)INumber以及两个实现NumberInt32和NumberInt64及其明显的实现。假设我想在INumber之上实现一个EvenCounter。EvenCounter只有一个IncTwice并且应该调用Inc两次。如果不在EvenCounter中的INumber周围使用额外的结构,我很难获得正确的类型。typeINumberinterface{Inc()String()string}typeNumberInt32struct{n