-4
我需要构建一个函数,将来自多个其他函数的响应合并到一个(结构)中。目前我认为唯一的方法是创建一个map [string] interface {},然后覆盖我需要合并的结构字段并在字段中分配字段名称 - > value作为键值。有没有其他方法?我基本上只需要将两个结构嵌入到一个结构中。是否有可能将多个结构动态合并/合并为一个(使用反射)?
我需要构建一个函数,将来自多个其他函数的响应合并到一个(结构)中。目前我认为唯一的方法是创建一个map [string] interface {},然后覆盖我需要合并的结构字段并在字段中分配字段名称 - > value作为键值。有没有其他方法?我基本上只需要将两个结构嵌入到一个结构中。是否有可能将多个结构动态合并/合并为一个(使用反射)?
我不确定这是否回答你的问题,但你可以肯定地将结构嵌入到一个结构中并直接访问属性。你不需要使用反射,并且我可以补充说它常常是反射被忽略的情况,因为它更可取的是明确的;反思往往是隐含的。
下面是一些代码,有希望解决你想要的东西:
type Foo struct {
Bar
Baz
}
type Bar struct {
BarValue string
}
type Baz struct {
BazValue string
}
func main() {
test := Foo{Bar: Bar{BarValue: "bar"}, Baz: Baz{BazValue: "baz"}}
fmt.Println(test.BarValue)
fmt.Println(test.BazValue)
}
我不确定我是否理解这个问题。也许你应该展示你想合并成什么的代码。 – Volker