Sobes.tech
Back to questions
Junior — Middle
81

Возможно ли объявлять методы с публичным доступом в языке Go?

Answer from AI

sobes.tech AI

В языке Go уровень доступа к методам и полям определяется регистром первой буквы имени:

  • Если имя метода начинается с заглавной буквы, он экспортируется (публичный) и доступен из других пакетов.
  • Если с маленькой — метод неэкспортируемый (приватный) и доступен только внутри пакета.

Пример:

package mypackage

type MyStruct struct {}

// Публичный метод
func (m MyStruct) PublicMethod() {
    // ...
}

// Приватный метод
func (m MyStruct) privateMethod() {
    // ...
}

Таким образом, в Go нет ключевого слова public, но экспортируемость достигается через заглавную букву в имени метода.