Interfaces make the code more flexible, scalable and it’s a way to achieve polymorphism in Golang. Instead of requiring a particular type, interfaces allow to specify that only some behaviour is needed. Behaviour is defined by set of methods: type I interface { f1(name string) f2(name string) (error, float32) f3() int64 }No particular implementation is enforced. It’s enough that type defines metho
![Interfaces in Go (part I)](https://cdn-ak-scissors.b.st-hatena.com/image/square/7693b705c8762fc40cac77abec53a58f86956d97/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2AgTWySSARxfkaQVxCBSOKoA.jpeg)