Merge pull request #94 from mvo5/feature/embeded-structs-example

Add embedded structs example
This commit is contained in:
Roger Peppe 2017-07-21 09:55:56 +01:00 коммит произвёл GitHub
Родитель 3b4ad1db5b e90bcf783f
Коммит 835086a6b6
2 изменённых файлов: 37 добавлений и 0 удалений

Просмотреть файл

@ -48,6 +48,8 @@ The yaml package is licensed under the Apache License 2.0. Please see the LICENS
Example
-------
Some more examples can be found in the "examples" folder.
```Go
package main

Просмотреть файл

@ -0,0 +1,35 @@
package main
import (
"fmt"
"log"
"gopkg.in/yaml.v2"
)
type StructA struct {
A string `yaml:"a"`
}
type StructB struct {
// go-yaml will not decode embedded structs by default, to do that
// you need to add the ",inline" annotation below
StructA `yaml:",inline"`
B string `yaml:"b"`
}
var data = `
a: a string from struct A
b: a string from struct B
`
func main() {
var b StructB
err := yaml.Unmarshal([]byte(data), &b)
if err != nil {
log.Fatalf("error: %v", err)
}
fmt.Println(b.A)
fmt.Println(b.B)
}