去解析 yaml 文件

我正在尝试用 Go 解析一个 yaml 文件。不幸的是,我无法弄清楚如何。我的 yaml 文件是这样的:


---

firewall_network_rules:

  rule1:

    src:       blablabla-host

    dst:       blabla-hostname

...

我有这个 Go 代码,但它不起作用:


package main


import (

    "fmt"

    "io/ioutil"

    "path/filepath"


    "gopkg.in/yaml.v2"

)


type Config struct {

    Firewall_network_rules map[string][]string

}


func main() {

    filename, _ := filepath.Abs("./fruits.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.Firewall_network_rules)

}

当我运行这个时,我收到一个错误。我认为这是因为我还没有为 src 和 dst 键/值创建结构。仅供参考:当我将其更改为列表时,它会起作用。


所以上面的代码解析这个:


---

firewall_network_rules:

  rule1:

    - value1

    - value2

...


哔哔one
浏览 204回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go