O interfață Go definește un set de semnături de metode — un contract de comportament. Crucial, interfețele sunt satisfăcute implicit: orice tip care are acele metode satisface automat interfața, fără nicio declarație explicită "implements". Această abordare structurală, de tip duck-typing, este distinctivă și puternică.
Definirea și implementarea implicită a unei interfețe
Speaker {
Speak()
}
Dog {}
Speak() { }
Cat {}
Speak() { }
s Speaker = Dog{}
s.Speak()
