我有一个类型本体,它看起来像:
type Base struct { ID: string }
type RecordA struct { Base, ... }
type RecordB struct { Base, ... }
type RecordC struct { Base, ... }
...
字符串
我正在写一个方法,它接受一个any
参数,需要确定它是否是一个可以转换为Base
的类型的切片,执行该转换,并返回它:
func (arg any) ([]Base, error) {
// if any is a slice of a struct which can be cast to `Base`, return the cast slice
// otherwise error
}
型
我可以将arg
转换为任何特定的实现结构体作为数组类型,但我很难弄清楚如何在没有包含Base
的所有“扩展”的大量switch
的情况下做到这一点。
1条答案
按热度按时间vpfxa7rd1#
这是我能想到的一个好办法,不知道是否合适,欢迎交流。
字符串