Junior — Middle
Ar galima išplėsti klasės funkcionalumą pridedant naujas savybes ar laukus per sąsają?
sobes.tech AI
Atsakymas iš AI
Go kalboje sąsajos apibrėžia metodų rinkinį, kurį turi įgyvendinti tipas, tačiau jos negali turėti savybių ar laukų. Todėl nėra įmanoma išplėsti klasės (tipo) funkcionalumo pridėjus naujų savybių per sąsają. Sąsajos skirtos apibūdinti elgseną, o ne duomenų struktūras.
Pavyzdys sąsajos Go kalboje:
type Reader interface {
Read(p []byte) (n int, err error)
}
Jei norite pridėti naujų laukų, tai daroma per struktūrą, o ne per sąsają.