Junior — Middle
Ar įmanoma Go kalboje deklaruoti metodus su privačia matomumo sritimi?
sobes.tech AI
Atsakymas iš AI
Go kalbo metodo matomumo sritis yra nustatoma pagal metodo vardo pirmąją raidę didžiąją ar mažąją raidę. Jei metodo pavadinimas prasideda didžiąja raide, jis eksportuojamas (viešas), jei mažąja — metodas yra privačias (pasiekiamas tik paketo viduje). Taip, Go nėra raktažodžio private, bet galima deklaruoti metodą su privačiu matomumo sritimi, paprasčiausiai pradėjus jo vardą mažąja raide.
Pavyzdys:
package mypackage
type MyStruct struct {}
func (m MyStruct) publicMethod() {
// privačias metodas, pasiekiamas tik paketo mypackage viduje
}
func (m MyStruct) PublicMethod() {
// viešas metodas, pasiekiamas iš kitų paketų
}
Kvietimas publicMethod bus įmanomas tik pakete mypackage.