title: How to iterate over a google.protobuf.ListValue
body: <p>My Protocol buffer specification looks like this:</p>
  <pre><code>message CreateContextRequest {
    map&lt;string, google.protobuf.ListValue&gt; my_mapping = 2;
  }
  </code></pre>
  <p>My Go code that uses this protocol buffer looks like this:</p>
  <pre><code>1:   fmt.Println(&quot;protocBuff = &quot;, protocBuff);
  2:   fmt.Println(&quot;protocBuff.MyMapping = &quot;, protocBuff.MyMapping);
  3:   for myKey, myListValue := range protocBuff.MyMapping {
  4:      fmt.Println(&quot;myKey:&quot;, myKey, &quot;=&gt;&quot;, &quot;myListValue:&quot;, myListValue)
  5:      for _, element := range myListValue {
  6:          fmt.Printf(&quot;element = &quot;, element)
  7:      }
  8:   }
  </code></pre>
  <p>Lines 1-4 work fine. But line #5 gives this compile-time error: <code>cannot range over myListValue (type *structpb.ListValue)</code></p>
  <p>So how can I iterate over myListValue?</p>