是否有可能合并/合并多个结构成一个动态(使用反射)



我需要建立一个函数,将多个其他函数的响应合并为一个(结构体)。目前,我认为唯一的方法是创建一个映射[字符串]接口{},然后范围在结构体的字段,我需要合并和分配字段名称->值作为键,值在地图。还有别的办法吗?我只需要将两个结构体嵌入到一个结构体中

我不确定这是否回答了你的问题,但你绝对可以将结构嵌入到一个结构中并直接访问属性。你不需要使用反射,我可以补充一下,反射通常是不受欢迎的,因为它更可取的是明确的;反射通常是隐式的。

下面是一些代码,希望能满足你的需求:

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)
}

相关内容

  • 没有找到相关文章

最新更新