title: Any documentation/article about the `&MyType{}` pattern in golang?
body: <p>In most golang codebases I look, people are using types by reference:</p>
  
  <pre><code>type Foo struct {}
  myFoo := &amp;Foo{}
  </code></pre>
  
  <p>I usually take the opposite approach, passing everything as copy and only pass by reference when I want to perform something destructive on the value, which allows me to easily spot destructive functions (and which is fairly rare).</p>
  
  <p>But seeing how references are commonplace, I guess it's not just a matter of taste. I get there's a cost in duplicating values, is it that much of a game changer? Or are there other reasons why references are preferred?</p>
  
  <p>It would be great if someone could point me to an article or documentation about why references are preferred.</p>
  
  <p>Thanks!</p>