我可以使用此库 "github.com/smallfish/simpleyaml"
阅读此内容
yml, err := ioutil.ReadFile("pvz-qa.yml")
b := err == nil
if b {
fmt.Print("All good")
}
fmt.Print(yml)
parsedYml,error := simpleyaml.NewYaml(yml)
我可以用
gopkg.in/yaml.v2
做同样的事情吗? ?
最佳答案
您可以解码到接口(interface):
var yml interface{}
data,_:=ioutil.ReadAll(file)
err:=yaml.Unmarshal(data, &yml)
成功解码后,
yml
是 map[interface{}]interface{}
,并且您可以使用类型断言遍历树。例如:value:=yml["key"]
将为您提供
key
的值, 你可以检查它是否是一个字符串,或者 []interface{}
, 或 map[interface{}]interface{}
并递归下降。
关于go - 如果我不知道使用 go 的(结构)中的预期模式,如何验证/读取 yaml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59743220/