title: Why assign a reference to a struct in go?
body: <p>I'm having a look at the code at this page:</p>
  
  <p><a href="http://golang.org/pkg/net/http/" rel="noreferrer">http://golang.org/pkg/net/http/</a></p>
  
  <p>And there's one thing I don't understand - at some point, a new structure is created and initialized like this:</p>
  
  <pre><code>client := &amp;http.Client{
      CheckRedirect: redirectPolicyFunc,
  }
  </code></pre>
  
  <p>Why use <code>&amp;</code> when creating this structure?</p>
  
  <p>I've also read this <a href="http://golangtutorials.blogspot.com/2011/06/structs-in-go-instead-of-classes-in.html" rel="noreferrer">blog post</a> and structs are initialized like this:</p>
  
  <pre><code>r := Rectangle{}
  </code></pre>
  
  <p>What is the difference between both and how should I know which one to use?</p>