title: How to print out pointer variable correctly in golang
body: <pre><code>type person struct{}
  var tom *person = &amp;person{}
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/9Gvn6.png" alt="enter image description here"></p>
  
  <p>When I use</p>
  
  <pre><code>fmt.Printf("%+v\n", tom)//prints:&amp;{}
  </code></pre>
  
  <p>Why the result is &amp; plus data?It is surposed to be an address(0x0055)</p>
  
  <p>When I use</p>
  
  <pre><code>fmt.Printf("%+v\n", &amp;tom)//0x0038
  fmt.Printf("%p\n", &amp;tom)//0x0038
  </code></pre>
  
  <p>It gives me an address,it gives me 0x0038,why %v and %p has the same result?</p>