Vmesnik v Go-u definira niz podpisov metod — pogodbo obnašanja. Ključnega pomena je, da so vmesniki izpolnjeni implicitno: vsak tip, ki ima te metode, avtomatično izpolnjuje vmesnik, brez eksplicitne deklaracije "implements". Ta strukturni pristop, podoben duck-typingu, je značilen in mogoč.
Definiranje in implicitna implementacija vmesnika
Speaker {
Speak()
}
Dog {}
Speak() { }
Cat {}
Speak() { }
s Speaker = Dog{}
s.Speak()
