Какая память существует в Go и что куда попадает? Куда попадают глобальные переменные и константы?

В Go есть стеки горутин, куча и области статических данных процесса. Размещение локального значения зависит от escape analysis и оптимизаций, а не только от var или new.

Короткий ответ

Что ответить на собеседовании

В Go есть стеки горутин, куча и области статических данных процесса. Размещение локального значения зависит от escape analysis и оптимизаций, а не только от var или new.

Подробный разбор

Ответ с пояснениями

В Go есть стеки горутин, куча и области статических данных процесса. Размещение локального значения зависит от escape analysis и оптимизаций, а не только от var или new.

Глобальная переменная имеет статическое хранение, но её ссылки могут вести на объекты кучи. Константа — значение времени компиляции и не обязана иметь отдельный адрес памяти. Точное расположение и устранение выделений — детали компилятора; исходный синтаксис не даёт полной картины.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее