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.