Sobes.tech
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.