我正在寻找未结婚的简单yaml,但有些事情不对劲。已经花了足够的时间。请帮忙吗?package mainimport ( "fmt" yaml "gopkg.in/yaml.v2")func main() { raw := `targets: - from: "http://localhost:8080/test1" timeout: "10s" - from: "http://localhost:8080/test2" timeout: "30s"` type Target struct { from string `yaml:"from"` timeout string `yaml:"timeout"` } type config struct { Targets []Target `yaml:"targets"` } cfg := config{} err := yaml.Unmarshal([]byte(raw), &cfg) if err != nil { fmt.Println(err) } fmt.Println("Config", cfg)}我低于空的 o/pConfig {[{ } { }]}儿童游乐场 -> https://play.golang.org/p/LANMpq_zPP9
1 回答
森栏
TA贡献1810条经验 获得超5个赞
您必须导出结构中的字段。如 api 文档中所述:
仅当导出结构字段(具有大写首字母)时,结构字段才会取消编组,并且使用小写的字段名称作为默认键来取消编组。
(https://github.com/go-yaml/yaml/blob/496545a6307b/yaml.go#L88)
将 -struct 更改为:Target
type Target struct {
From string `yaml:"from"`
Timeout string `yaml:"timeout"`
}
应该工作。
试试看:https://play.golang.org/p/ZD7Jrv0QBdn
- 1 回答
- 0 关注
- 104 浏览
添加回答
举报
0/150
提交
取消