Go 不支持多态性。如果要在泛型类型的保护下传递特定类型,则它无法在 Go 中工作。以下代码引发错误。在 Go 中实现相同功能的最佳方法是什么?
package main
import (
"fmt"
)
type parent struct {
parentID string
}
type child1 struct {
parent
child1ID string
}
type child2 struct {
parent
child2ID string
}
type childCollection struct {
collection []parent
}
func (c *childCollection) appendChild(p parent) {
c.collection = append(c.collection, p)
}
func main() {
c1 := new(child1)
c2 := new(child2)
c := new(childCollection)
c.appendChild(c1)
c.appendChild(c2)
}
慕侠2389804
相关分类