Все мы знаем, что пустая структура struct{} в Go действительно занимает ноль байт. Но как это реализовано?
Во время выполнения среда не выделяет под нее память, а вместо этого возвращает указатель на глобальную переменную zerobase, поэтому все экземпляры struct{} ссылаются на один и тот же адрес. Однако, сравнение указателей на пустые структуры ненадежно - два разных экземпляра могут как совпадать, так и различаться в зависимости от оптимизаций компилятора
22.06.2026
Похожее
05.08.2026
Swiss Tables
Статья подробно разбирает переход Go 1.24 от классической bucket-архитектуры мап...
03.08.2026
Визуализируем GC
Статья наглядно исследует новый сборщик мусора Green Tea в Go 1.25/1.26. Авт...
30.07.2026
Кодим чат
Автор просто час пишет чат. Никаких слов, никакого хайпа. Просто час кодинга под...
29.07.2026
Хранение паскеев
Автор предлагает формат для паскеев специальный формат. Что-то похожее на интеро...