Sobes.tech
Назад к вопросам
Junior — Middle
80

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

Ответ от нейросети

sobes.tech AI

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

Пример:

package mypackage

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

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

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