小编Ale*_*unt的帖子

如何解决“接口方法必须没有类型参数”?

我正在尝试 1.18beta2 中的泛型,并且正在尝试为键/值存储、boltdb 编写一个抽象层。这就是我试图用它实现的目标。

type Reader interface {
    Read(bucket []byte, k ...[]byte) ([][]byte, error)
    ReadDoc[V Unmarshaler](bucket []byte, factory func() (V, error), k ...[]byte) ([]V, error)
}

type Unmarshaler interface {
    UnmarshalKV(v []byte) error
}
Run Code Online (Sandbox Code Playgroud)

这样我就可以为它提供一个工厂,以便在它找到键/值时创建类型,将数据解组到其中并返回该特定类型的切片。只有我从编译器得到“接口方法必须没有类型参数”。为什么接口中不允许使用类型参数?支持这个计划吗?这粉碎了我的梦想……本来就很完美。然而它确实可以在界面之外工作。

generics methods interface go type-parameter

14
推荐指数
1
解决办法
2万
查看次数

标签 统计

generics ×1

go ×1

interface ×1

methods ×1

type-parameter ×1