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