在我的函数中,我有一个Product结构的变量,但我无法访问Product结构,我想从它的变量中得到一个Product的变量,例如:
test1 := Product{}
....
....
....
test2 := []TypeOf(test1)
我该怎么做?
更新: 我想要实际实现的目标是什么?
我有一些想要在适配器中用于gorm的结构。
在我的适配器中,例如我有一个FindAll方法需要切片我的一个结构。
我的所有结构都在一个名为Domains的包中,我不想从使用(调用)FindAll函数的地方发送所需的变量。
现在我将所有结构注册到Map并使用struct name在适配器中获取它们 但结果是该结构的变量而不是该结构的类型,因此我无法从中生成另一个变量或者对其进行切片。
答案 0 :(得分:2)
您可以使用reflection执行此操作,特别是TypeOf
,SliceOf
和MakeSlice
,然而,它不会使用非常有用,因为您只能将其作为interface{}
引用,您无法像切片一样使用它。或者,您可以将其分配给[]interface{}
类型的切片,这样可以让您使用切片,但是再次,无法引用基础类型,您无法对值进行任何操作。您可能需要重新考虑您的设计。
答案 1 :(得分:0)
你想要一个带有test1元素的Product片段吗?
in fragPos[2]