Junior — Middle
Kako možemo biti sigurni da struktura podataka implementira traženi interfejs?
sobes.tech АИ
Одговор од АИ
U Go-u, za proveru da li struktura implementira interfejs, može se koristiti neizvesna implementacija interfejsa — dovoljno je da struktura ima sve metode interfejsa.
Za eksplicitnu proveru u fazi kompilacije, često se dodaje dodeljivanje praznog interfejsa promenljivoj sa tipom strukture:
var _ MyInterface = (*MyStruct)(nil)
Ovo će naterati kompajler da proveri da li MyStruct implementira MyInterface. Ako ne — biće greška pri kompilaciji.
Ovaj pristup je koristan za dokumentaciju i rano otkrivanje grešaka u implementaciji interfejsa.