我正在尝试将 YAML 文件解组为包含两个映射的结构(使用go-yaml)。
YAML 文件:
'Include':
- 'string1'
- 'string2'
'Exclude':
- 'string3'
- 'string4'
结构:
type Paths struct {
Include map[string]struct{}
Exclude map[string]struct{}
}
尝试解组的函数的简化版本(即删除错误处理等):
import "gopkg.in/yaml.v2"
func getYamlPaths(filename string) (Paths, error) {
loadedPaths := Paths{
Include: make(map[string]struct{}),
Exclude: make(map[string]struct{}),
}
filenameabs, _ := filepath.Abs(filename)
yamlFile, err := ioutil.ReadFile(filenameabs)
err = yaml.Unmarshal(yamlFile, &loadedPaths)
return loadedPaths, nil
}
正在从文件中读取数据,但解组函数没有将任何内容放入结构中,并且没有返回任何错误。
我怀疑 unmarshal-function 无法将 YAML 集合转换为map[string]struct{},但如前所述,它不会产生任何错误,而且我环顾四周寻找类似的问题,但似乎找不到任何错误。
任何线索或见解将不胜感激!
胡说叔叔
相关分类