title: Golang inferred interfaces
body: <p>Just a simple language design related question here.
  In languages like Swift, in order for a struct/class to conform to a protocol/interface, one needs to explicitly declare it as such</p>
  
  <pre><code>struct Dog: Animal {
      // implementation of Animal protocols here
  }
  </code></pre>
  
  <p>But why is it that in Go, there are no explicit ways to show what interfaces a struct conforms to?</p>
  
  <p>Isn't this just making things unclear or are there any other reasons behind it?</p>