读取文件中的多个Yaml

How does one parse multiple yamls in a file similar to how kubectl does it?

example.yaml

---
a: Easy!
b:
  c: 0
  d: [1, 2]
---
a: Peasy!
b:
  c: 1000
  d: [3, 4]

Solution I found using gopkg.in/yaml.v2:

package main

import (
    "bytes"
    "fmt"
    "io/ioutil"
    "log"
    "path/filepath"

    "gopkg.in/yaml.v2"
)

type T struct {
        A string
        B struct {
                RenamedC int   `yaml:"c"`
                D        []int `yaml:",flow"`
        }
}

func main() {
    filename, _ := filepath.Abs("./example.yaml")
    yamlFile, err := ioutil.ReadFile(filename)
    if err != nil {
        panic(err)
    }

    r := bytes.NewReader(yamlFile)

    dec := yaml.NewDecoder(r)

    var t T
    for dec.Decode(&t) == nil {

      fmt.Printf("a :%v
b :%v
", t.A, t.B)

    }
}