在 Go 中,yaml.Unmarshal() 函数用于将 YAML 数据解析为结构化表示,例如结构体。然而,当尝试将 YAML 数据解析为结构体时,由于未知原因,会返回一个空结构体。
解决方案在于结构体字段的可见性。默认情况下,结构体字段是未导出的,这意味着它们只能在定义结构体的包中访问。要将 YAML 数据解组到结构中,必须导出字段。
要导出 Go 结构中的字段,请大写字段名称的第一个字母。例如,不要使用:
type Config struct { foo_bar string }
,而是使用:
type Config struct { FooBar string }
这会使 FooBar 字段导出并允许从包外部访问它。进行此更改后,yaml.Unmarshal() 可以成功将 YAML 数据解析到结构中。
以上是为什么 Go 中 `yaml.Unmarshal()` 返回空结构体?的详细内容。更多信息请关注PHP中文网其他相关文章!