[英]Passing arbitrary slices in Go
我正在编写一个函数,该函数从数据库中检索任意数据,并返回包含结果的结构片段。 数据结构由用户在ItemFactory中定义。 然后,用户在工厂上实现创建空结构的方法:
func (t Example) GenerateEmptyItem() interface{} {
return &Example{}
}
我试图对Example
片段执行相同的Example
。 我需要能够使用返回的任何内容来调用len()
函数,同时保持其通用性,以允许其由“通用”函数返回。
我不能简单地拥有这样的东西,因为对一片接口的基础数据分配与一系列示例不同:
func (t Country) GenerateEmptyItems() []interface{} {
return []Country{} //Error
}
是否可以使用指向切片的指针,例如&[]Example{}
并将其作为interface{}
传递,然后仍然可以将其用作切片? 还是我要解决这个错误?记住,我在编译时不知道数据的类型,所以我不能简单地进行转换。
感谢您的帮助。 让我知道是否可以澄清任何事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.