title: Are these two Go pieces of code equivalent?
body: <p>Having this struct</p>
  
  <pre><code>type Square struct {
      Side int
  }
  </code></pre>
  
  <p>Are these to functions equivalent?</p>
  
  <pre><code>func (s *Square) SetSide(side int) {
      s.Side = side
  }
  </code></pre>
  
  <p>vs</p>
  
  <pre><code>func SetSquareSide(s *Square, side int) {
      s.Side = side
  }
  </code></pre>
  
  <p>I know they <em>do</em> the same, but are they really equivalent? I mean, is there any internal difference or something?</p>
  
  <p>Try online: <a href="https://play.golang.org/p/gpt2KmsVrz" rel="nofollow">https://play.golang.org/p/gpt2KmsVrz</a></p>