我需要建立一个函数,将多个其他函数的响应合并为一个(结构体)。目前,我认为唯一的方法是创建一个映射[字符串]接口{},然后范围在结构体的字段,我需要合并和分配字段名称->值作为键,值在地图。还有别的办法吗?我只需要将两个结构体嵌入到一个结构体中
我不确定这是否回答了你的问题,但你绝对可以将结构嵌入到一个结构中并直接访问属性。你不需要使用反射,我可以补充一下,反射通常是不受欢迎的,因为它更可取的是明确的;反射通常是隐式的。
下面是一些代码,希望能满足你的需求:
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)
}