title: Why are interfaces needed in Golang?
body: <p>In Golang, we use structs with receiver methods. everything is perfect up to here.<br>
  I'm not sure what interfaces are, however. We define methods in structs and if we want to implement a method on a struct, we write it anyway again under another struct.<br>
  This means that interfaces seem to be just method definitions, taking just extra unneeded space on our page.</p>
  
  <p>Is there any example explaining why I need an interface?</p>