我正在尝试读取类似于我在 Python 中所做的 YAML 文件。但我不知道如何使用任意键。我有以下我想阅读的 YAML:
apple:
name: item1
banana:
name: item2
我知道如何读取文件,但只使用空接口。我想将其作为我的 Item 类型的映射来读入。
package main
import (
"fmt"
"log"
"gopkg.in/yaml.v2"
)
type Item struct {
Name string `yaml:"name"`
}
func main() {
input := `
apple:
name: item1
banana:
name: item2`
m := make(map[interface{}]interface{})
err := yaml.Unmarshal([]byte(input), &m)
if err != nil {
log.Fatalf("error: %v", err)
}
fmt.Printf("%v \n", m)
}
我在 Stdout 中得到了什么:
map[apple:map[name:item1] banana:map[name:item2]]
我想看到的是:
map[apple:{item1} banana:{item2}]
如何将我的 YAML 文件读入 Item(s) 的映射中?
浮云间
三国纷争
相关分类