Sobes.tech
Junior — Middle

Lehetséges privát láthatósági területtel rendelkező módszereket deklarálni a Go nyelvben?

sobes.tech MI

Válasz az MI-től

Go-ban a metódusok láthatóságát a metódus nevének első betűje nagy vagy kis betű szerint határozza meg. Ha a metódus neve nagy betűvel kezdődik, akkor exportálva (nyilvános), ha kis betűvel kezdődik, akkor privát (csak a csomagon belül elérhető). Így a Go-ban nincs private kulcsszó, de egy metódust privát láthatósággal lehet deklarálni, egyszerűen azzal, hogy a nevét kis betűvel kezdjük.

Példa:

package mypackage

type MyStruct struct {}

func (m MyStruct) publicMethod() {
    // privát metódus, csak a mypackage csomagon belül elérhető
}

func (m MyStruct) PublicMethod() {
    // nyilvános metódus, más csomagokból elérhető
}

A publicMethod hívása csak a mypackage csomagon belül lesz lehetséges.