Sobes.tech
Junior — Middle

Kokios yra ribos Go kalboje, kad interfeisas negalėtų būti tuščias?

sobes.tech AI

Atsakymas iš AI

Go kalboje, sąsaja gali būti deklaruota kaip tuščia — tai specialus sąsajos atvejis, kuris neapima jokių metodų ir žymimas kaip interface{}.

Tuščia sąsaja gali turėti bet kokio tipo reikšmes, nes visi tipai ją automatiškai įgyvendina.

Todėl nėra jokių apribojimų deklaruojant tuščią sąsają Go kalboje — tai galiojanti ir dažnai naudojama technika.

Jei klausimas yra, kaip padaryti, kad sąsaja nebūtų tuščia, pakanka joje deklaruoti bent vieną metodą:

// Tuščia sąsaja
var i interface{}

// Sąsaja su metodu
type Reader interface {
    Read(p []byte) (n int, err error)
}

Taip, tuščia sąsaja yra pagrindinis statybinis blokas Go kalboje, ir jokių apribojimų jos deklaravimui nėra.