解析带有“---”的yaml文件

我正在使用https://github.com/go-yaml/yaml来解析 yaml 文件:


type TestConfig struct {

   Test string `yaml:"test"`

}



yaml 文件:


test: 123


---


test: 456

但是 yaml.Unmarshal() 只解析第一段,我该如何解析剩下的部分呢?


吃鸡游戏
浏览 92回答 1
1回答

皈依舞

但是 yaml.Unmarshal() 只解析第一段,我该如何解析剩下的部分呢?yaml.Unmarshal的医生说(强调我的):Unmarshal 解码在 in 字节切片中找到的第一个文档,并将解码后的值分配给 out 值。如果要解码一系列文档,请调用yaml.NewDecoder()数据流,然后.Decode(...)多次调用解码器。用于io.EOF标识记录的结尾。for我通常为此使用带有break条件的无限循环:decoder := yaml.NewDecoder(bytes.NewBufferString(data))for {    var d Doc    if err := decoder.Decode(&d); err != nil {        if err == io.EOF {            break        }        panic(fmt.Errorf("Document decode failed: %w", err))    }    fmt.Printf("%+v\n", d)}fmt.Printf("All documents decoded")(https://go.dev/play/p/01xdzDN0qB7)
打开App,查看更多内容
随时随地看视频慕课网APP