Sebuah interface Go mentakrifkan satu set tandatangan kaedah — satu kontrak tingkah laku. Yang penting, interface dipenuhi secara tersirat: mana-mana jenis yang mempunyai kaedah tersebut secara automatik memenuhi interface itu, tanpa pengisytiharan "implements" eksplisit. Pendekatan struktural, duck-typing ini tersendiri dan berkuasa.
Mentakrif dan melaksanakan interface secara tersirat
Speaker {
Speak()
}
Dog {}
Speak() { }
Cat {}
Speak() { }
s Speaker = Dog{}
s.Speak()
