在下面的示例中,我试图定义一个PreciseAdder类型来简化实例化泛型类型的使用. 不幸的是,Go编译器似乎认为泛型类型上定义的方法不适用于PreciseAdder类型.我知道我可以通过组合解决这个问题,但是有没有一种方法可以用类型定义来解决这个问题?如果没有,原因是什么?
package main
type Addable interface {
Add()
}
type Adder[T Addable] struct{}
func (a Adder[T]) DoAdd(){}
type PreciseAddable struct{}
func (p PreciseAddable)Add(){}
type PreciseAdder Adder[PreciseAddable]
func main() {
var p PreciseAdder
p.DoAdd()
}