title: Trouble unmarshaling YAML structure
body: <p>I have what I think is a very straightforward YAML structure I'm attempting to write to and read from a file. </p>
  
  <pre><code>appName:
     version: 1.2.3.4
     md5_checksum: 987654321
  </code></pre>
  
  <p>And I'm really struggling to understand nested structs and how they relate to yaml marshaling. </p>
  
  <p>At this point I have the following:</p>
  
  <pre><code>type Application struct {
      Name     string `yaml:"application"`
      Version  string `yaml:"version"`
      Checksum int    `yaml:"md5_checksum"`
  }
  
  yamlData := Application{"MyProgram", "1.2.3.4", 34235234123}
  y, err := yaml.Marshal(yamlData)
  if err != nil {
      log.Fatal("Yaml marshal failed")
  }
  
  err = ioutil.WriteFile("applications.yaml", y, 0644)
  if err != nil {
      log.Fatal("File write failed")
  }
  </code></pre>
  
  <p>This gets me close, but the file reads as follows:</p>
  
  <pre><code>application: MyProgram
  version: 1.2.3.4
  md5_checksum: 34235234123
  </code></pre>
  
  <p>That looks nice, but this file will be populated by many applications. I've tried a few types of nested structs, but I get hung up on how to supply values to them when finally building them.</p>