add examples for decoding embedded structs

This commit is contained in:
Michael Vogt
2015-04-07 11:02:50 +02:00
parent 49c95bdc21
commit e90bcf783f
2 changed files with 37 additions and 0 deletions
+2
View File
@@ -48,6 +48,8 @@ The yaml package is licensed under the LGPL with an exception that allows it to
Example
-------
Some more examples can be found in the "examples" folder.
```Go
package main
+35
View File
@@ -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)
}