Go Interface Type Implisit Empty Assertion
Definisi
Interface adalah kumpulan method signature. Go menggunakan implementasi implisit — tipe otomatis memenuhi interface bila punya method yang diminta (tanpa implements). interface{} (atau any) menampung nilai apa pun; type assertion mengambil tipe aslinya.
Kapan dipakai
Pakai untuk abstraksi (mis. io.Writer, error), mocking di test, dan polymorphic behavior tanpa inheritance.
Cara kerja
definisi & implisit
type Speaker interface { Speak() string }
type Dog struct{}
func (d Dog) Speak() string