В Go видимость определяется регистром первой буквы. Заглавная — exported (публичный), строчная — unexported (приватный). User — виден из других пакетов, user — только внутри пакета. Работает для типов, функций, методов, полей структур, констант. Это единственный механизм инкапсуляции в Go — нет private/protected/public keywords. Unexported поля не сериализуются в JSON (encoding/json их игнорирует). Struct tags (json:"name") работают только с exported полями. Правило: экспортируй минимум необходимого, скрывай детали реализации.
Что такое exported vs unexported?
Junior
713 просмотровAFK Offer AI
Как оптимизировать Docker image?