Go interface määrittelee joukon metodisignatuureja — käyttäytymisen sopimuksen. Keskeistä on, että interfacet toteutetaan implisiittisesti: mikä tahansa tyyppi, jolla on ne metodit, täyttää automaattisesti interfacen ilman eksplisiittistä "implements"-deklaraatiota. Tämä rakenteellinen, ankkaksi-tiputtelu-lähestyminen on erityinen ja tehokas.
Interfacen määrittäminen ja implisiittinen toteutus
Speaker {
Speak()
}
Dog {}
Speak() { }
Cat {}
Speak() { }
s Speaker = Dog{}
s.Speak()
