将YAML解组为struct

我正在尝试将YAML数据解析为字符串:

package main

import (

"fmt"

"log"

"gopkg.in/yaml.v2"

)

type Config struct {

foo_bar string

}

func FailOnError(err error, msg string) {

if err != nil {

log.Fatalf("%s: %s", msg, err)

panic(fmt.Sprintf("%s: %s", msg, err))

}

}

func ParseYAMLConfig(data []byte) *Config {

config := Config{}

err := yaml.Unmarshal(data, &config)

if err != nil {

FailOnError(err, "Failed to unmarshal the config")

}

return &config

}

var configYAMLData = `

---

foo_bar: "https://foo.bar"

`

func main() {

config := ParseYAMLConfig([]byte(configYAMLData))

fmt.Printf("%v", config)

}

由于某种原因,config是一个空结构&{}。

回答:

您的结构的字段未导出。导出它们,它将起作用。

type Config struct {

FooBar string `yaml:"foo_bar"`

}

以上是 将YAML解组为struct 的全部内容, 来源链接: utcz.com/qa/416837.html

回到顶部