Μια interface στη Go ορίζει ένα σύνολο υπογραφών μεθόδων — ένα συμβόλαιο συμπεριφοράς. Κρίσιμο σημείο, οι διεπαφές ικανοποιούνται σιωπηρά: οποιοδήποτε type που έχει αυτές τις μεθόδους αυτόματα ικανοποιεί την interface, χωρίς κανένα ρητό "implements" declaration. Αυτή η δομική, duck-typing προσέγγιση είναι χαρακτηριστική και ισχυρή.
Ορισμός και σιωπηρή υλοποίηση μιας interface
Speaker {
Speak()
}
Dog {}
Speak() { }
Cat {}
Speak() { }
s Speaker = Dog{}
s.Speak()
