title: unmarshal yaml to proto3 with oneOf protobuf field
body: <p>I have a proto message with a structure like this:</p>
  <pre class="lang-golang prettyprint-override"><code>syntax = &quot;proto3&quot;;
  
  message Bar {
    int64 id = 1;
    string name = 2;
    int64 value = 3;
  }
  
  message Msg {
    int32 baz = 1;
    oneof some_union {
       string foo = 2;
       Bar bar = 3;
    }
  }
  </code></pre>
  <p>I could think of two approaches to write yaml equivalent of the message.
  In the first approach, see below example, it assigns <code>&quot;some_union&quot;: null</code> and no value is set in the field &quot;foo&quot;.</p>
  <pre class="lang-golang prettyprint-override"><code>baz: 0
  foo: &quot;some_string&quot;
  </code></pre>
  <p>In the second approach, see below example, it throws an error saying <code>cannot unmarshal object into Go struct field</code></p>
  <pre class="lang-golang prettyprint-override"><code>baz: 0
  some_union:
    foo: &quot;some_string&quot;
  
  </code></pre>
  <p>I am using <code>github.com/ghodss/yaml</code> package for unmarshlling yaml into proto message.</p>