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