Назад к вопросам
Junior — Middle
81
Возможно ли объявить методы с приватной областью видимости в языке Go?
Ответ от нейросети
sobes.tech AI
В Go область видимости методов определяется по регистру первой буквы имени метода. Если имя метода начинается с заглавной буквы, он экспортируется (публичный), если с маленькой — метод приватный (доступен только внутри пакета). Таким образом, в Go нет ключевого слова private, но можно объявить метод с приватной областью видимости, просто начав его имя с маленькой буквы.
Пример:
package mypackage
type MyStruct struct {}
func (m MyStruct) publicMethod() {
// приватный метод, доступен только внутри пакета mypackage
}
func (m MyStruct) PublicMethod() {
// публичный метод, доступен из других пакетов
}
Вызов publicMethod будет возможен только внутри пакета mypackage.