【发布时间】:2020-01-17 23:19:39
【问题描述】:
假设我有以下结构:
type CarShop struct {
Cars []*Car
}
type Car struct {
ID string `yaml:“id“`
}
type BMW struct {
Car
A string `yaml:“a“`
}
type Mercedes struct {
Car
B string `yaml:“b“
}
我想解析以下字符串:
- BMW:
id: „BMW“
a: „a“
- Mercedes:
id: „Mercedes“
b: „b“
如何动态创建解析此字符串的 BMW 和 Mercedes 对象?这甚至可以使用 Go 和 go-yaml 实现吗?
【问题讨论】:
-
你试过用 Car 实现 Unmarshaler 接口吗?
-
感谢您的建议!我认为 flyx 的评论很好地说明了这种实现。
标签: go inheritance yaml