为了账号安全,请及时绑定邮箱和手机立即绑定

Golang YAML 阅读与地图地图

Golang YAML 阅读与地图地图

Go
慕无忌1623718 2021-08-23 15:43:22
这是我的 YAML 文件。description: fruits are deliciousfruits:  apple:    - red    - sweet  lemon:    - yellow    - sour我可以用这个gopkg.in/yaml.v1包读取更扁平的版本,但是当它看起来像地图时,我一直试图弄清楚如何读取这个 YAML 文件。package mainimport (  "fmt"  "gopkg.in/yaml.v1"  "io/ioutil"  "path/filepath")type Config struct {  Description string  Fruits []Fruit}type Fruit struct {  Name string  Properties []string}func main() {  filename, _ := filepath.Abs("./file.yml")  yamlFile, err := ioutil.ReadFile(filename)  if err != nil {    panic(err)  }  var config Config  err = yaml.Unmarshal(yamlFile, &config)  if err != nil {    panic(err)  }  fmt.Printf("Value: %#v\n", config.Description)  fmt.Printf("Value: %#v\n", config.Fruits)}它无法取出嵌套的 Fruits。回来好像是空的。 Value: []main.Fruit(nil).
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

使用字符串切片图来表示水果属性:


type Config struct {

  Description string

  Fruits map[string][]string

}

打印未编组的配置


fmt.Printf("%#v\n", config)

产生以下输出(不包括我为可读性添加的空格):


main.Config{Description:"fruits are delicious", 

     Fruits:map[string][]string{

          "lemon":[]string{"yellow", "sour"}, 

          "apple":[]string{"red", "sweet"}}}


查看完整回答
反对 回复 2021-08-23
  • 1 回答
  • 0 关注
  • 204 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信