Sobes.tech
Back to questions
Junior — Middle
82

Каким образом можно скрыть внутренние детали объекта в языке Go?

Answer from AI

sobes.tech AI

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

Пример:

package mypackage

type User struct {
    Name string // экспортируемое поле
    age  int    // приватное поле
}

func (u *User) GetAge() int { // экспортируемый метод для доступа к приватному полю
    return u.age
}

Таким образом, скрыть внутренние детали можно, делая поля и методы неэкспортируемыми (с маленькой буквы) и предоставляя доступ через экспортируемые методы.