Sobes.tech
Junior — Middle

Koje restrikcije postoje u jeziku Go da interfejs ne može biti deklarisan kao prazan?

sobes.tech АИ

Одговор од АИ

U jeziku Go, interfejs može biti deklarisan kao prazan — to je poseban slučaj interfejsa koji ne sadrži metode i označava se kao interface{}.

Prazan interfejs može sadržavati vrednosti bilo kog tipa, jer svi tipovi ga automatski implementiraju.

Zbog toga, ne postoje ograničenja za deklarisanje praznog interfejsa u Go — to je validna i često korišćena tehnika.

Ako je pitanje kako da interfejs ne bude prazan, dovoljno je da u njemu deklaršete bar jednu metodu:

// Prazan interfejs
var i interface{}

// Interfejs sa metodom
type Reader interface {
    Read(p []byte) (n int, err error)
}

Tako, prazan interfejs je osnovni građevinski blok u Go, i nema ograničenja za njegovu deklaraciju.