Sobes.tech
Junior — Middle

Kas on võimalik deklareerida meetodeid, millel on privaatne nähtavus Go keeles?

sobes.tech AI

Vastus AI-lt

Go-s meetodite vahemiku määrab meetodi nime esimese tähe suur või väike täht. Kui meetodi nimi algab suure tähega, see eksporditakse (avalik), kui väikese tähega, on meetod privaatne (saadaval ainult paketis). Seega, Go-s puudub võtmesõna private, kuid saab deklareerida meetodi privaatse vahemikuga, lihtsalt alustades selle nime väikese tähega.

Näide:

package mypackage

type MyStruct struct {}

func (m MyStruct) publicMethod() {
    // privaatne meetod, saadaval ainult paketis mypackage
}

func (m MyStruct) PublicMethod() {
    // avalik meetod, saadaval teiste paketidena
}

Kutse publicMethod on võimalik ainult paketis mypackage.