Junior — Middle
Je možné v jazyce Go deklarovat metody s privátní oblastí viditelnosti?
sobes.tech AI
Odpověď od AI
V Go je rozsah platnosti metod určen velkým nebo malým písmenem na začátku názvu metody. Pokud název metody začíná velkým písmenem, je exportována (veřejná), pokud začíná malým písmenem, je metoda soukromá (přístupná pouze uvnitř balíčku). Tím pádem v Go neexistuje klíčové slovo private, ale lze deklarovat metodu s privátním rozsahem, jednoduše začínajícím jejím názvem malým písmenem.
Příklad:
package mypackage
type MyStruct struct {}
func (m MyStruct) publicMethod() {
// soukromá metoda, přístupná pouze uvnitř balíčku mypackage
}
func (m MyStruct) PublicMethod() {
// veřejná metoda, přístupná z jiných balíčků
}
Volání publicMethod bude možné pouze uvnitř balíčku mypackage.