Ett Go interface definierar en uppsättning metodsignaturer — ett kontakt för beteende. Avgörande är att interfaces är uppfyllda implicit: alla typer som har dessa metoder uppfyller automatiskt interfacet, med ingen explicit "implements"-deklaration. Denna strukturella, duck-typing-approach är distinktiv och kraftfull.
Definition och implicit implementering av ett interface
Speaker {
Speak()
}
Dog {}
Speak() { }
Cat {}
Speak() { }
s Speaker = Dog{}
s.Speak()
