我刚刚看到 Go 在其最新版本中加入了泛型,我正在尝试创建一个小项目来了解它是如何工作的。除了现在通用的非常简单的函数之外,我似乎没有弄清楚它是如何工作的。我希望能够做这样的事情:
type Dao[RT any] interface {
FindOne(id string) *RT
}
type MyDao struct {
}
type ReturnType struct {
id int
}
func (m *MyDao) FindOne(id string) *ReturnType {
panic("implement me")
}
// how should this look like?
func NewMyDao() *Dao[ReturnType] {
return &MyDao[ReturnType]{}
}
这可能吗?我似乎并没有以这种方式实现接口,而且我已经尝试了很多相同的组合。
有没有办法实现通用接口?如果不是,是否只有返回interface{}类型的替代方案?
慕妹3146593
眼眸繁星
相关分类