Junior — Middle
Czy można deklarować metody z prywatnym zakresem widoczności w języku Go?
sobes.tech AI
Odpowiedź od AI
W Go zakres widoczności metod jest określany przez wielkość litery na początku nazwy metody. Jeśli nazwa metody zaczyna się od wielkiej litery, jest eksportowana (publiczna), jeśli od małej — metoda jest prywatna (dostępna tylko w pakiecie). W ten sposób w Go nie ma słowa kluczowego private, ale można zadeklarować metodę z prywatnym zakresem widoczności, po prostu zaczynając jej nazwę od małej litery.
Przykład:
package mypackage
type MyStruct struct {}
func (m MyStruct) publicMethod() {
// prywatna metoda, dostępna tylko w pakiecie mypackage
}
func (m MyStruct) PublicMethod() {
// publiczna metoda, dostępna z innych pakietów
}
Wywołanie publicMethod będzie możliwe tylko w pakiecie mypackage.