Go语言 Yaml Unmarshal不会将YAML解析为结构

ar7v8xwq  于 2023-09-28  发布在  Go
关注(0)|答案(1)|浏览(142)

我正在尝试将配置文件加载到Go中的结构中。我没有抛出任何错误,但我的结构根本没有修改。我这样做的方式与我在网上找到的大多数例子相匹配,所以我真的不知道哪里错了。

type Config struct {
  hostOrigin string
}

const configName string = "config.yml"

func readConfig() (Config, error) {
  config := Config{}

  file, err := ioutil.ReadFile(configName)
  if err != nil {
    return config, err
  }

  fmt.Println(string(file))

  err = yaml.Unmarshal(file, &config)
  if err != nil {
    return config, err
  }

  spew.Dump(config)
  ...
}

我的输出是:

---
hostOrigin: testing

(main.Config) {
 hostOrigin: (string) ""
}

文件数据输出正确,因此看起来文件读取正常。但结构没有被填满。

pbpqsu0x

pbpqsu0x1#

我认为问题是hostOrigin字段是私有的。将其重命名为HostOrigin后,应该可以正常工作。

相关问题