title: Print interface map with types
body: <p>I have a function that takes in some bytes, and parses them into a map. I would
  like to print out this map, but with the types included if possible. I tried
  this:</p>
  <pre><code>package main
  import &quot;fmt&quot;
  
  func main() {
     m := map[string]interface{}{
        &quot;one&quot;: uint16(1), &quot;two&quot;: map[string]interface{}{
           &quot;three&quot;: uint32(3), &quot;four&quot;: uint64(4),
        },
     }
     /*
     map[string]interface {}{
        &quot;one&quot;:0x1, &quot;two&quot;:map[string]interface {}{&quot;four&quot;:0x4, &quot;three&quot;:0x3}
     }
     */
     fmt.Printf(&quot;%#v\n&quot;, m)
  }
  </code></pre>
  <p>but it doesnt print out the number types. I can do this:</p>
  <pre><code>// uint16
  fmt.Printf(&quot;%T\n&quot;, m[&quot;one&quot;])
  </code></pre>
  <p>but the map can be pretty big, so I would like to avoid having to manually print
  every value. Is it possible to do what I am wanting?</p>