我在 golang 中有两个结构如下type Data struct { Name string Description string HasMore bool}type DataWithItems struct { Name string Description string HasMore bool Items []Items}至多DataWithItemsstruct 可以重写为 type DataWithItems struct { Info Data Items []Items }但是上面的内容使得将 json 对象解码为DataWithItems. 我知道这可以通过其他编程语言的继承来解决,但是Is there a way I can solve this in Go?
2 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
您可以将一个结构“嵌入”到另一个结构中:
type Items string
type Data struct {
Name string
Description string
HasMore bool
}
type DataWithItems struct {
Data // Notice that this is just the type name
Items []Items
}
func main() {
d := DataWithItems{}
d.Data.Name = "some-name"
d.Data.Description = "some-description"
d.Data.HasMore = true
d.Items = []Items{"some-item-1", "some-item-2"}
result, err := json.Marshal(d)
if err != nil {
panic(err)
}
println(string(result))
}
这打印
{"Name":"some-name","Description":"some-description","HasMore":true,"Items":["some-item-1","some-item-2"]}
- 2 回答
- 0 关注
- 89 浏览
添加回答
举报
0/150
提交
取消