这是我的 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"}}}
- 1 回答
- 0 关注
- 204 浏览
添加回答
举报
0/150
提交
取消