Post Thumbnail

Все мы знаем, что пустая структура struct{} в Go действительно занимает ноль байт. Но как это реализовано?

Во время выполнения среда не выделяет под нее память, а вместо этого возвращает указатель на глобальную переменную zerobase, поэтому все экземпляры struct{} ссылаются на один и тот же адрес. Однако, сравнение указателей на пустые структуры ненадежно - два разных экземпляра могут как совпадать, так и различаться в зависимости от оптимизаций компилятора

Похожее

Post Thumbnail

Swiss Tables

Статья подробно разбирает переход Go 1.24 от классической bucket-архитектуры мап...

Post Thumbnail

Кодим чат

Автор просто час пишет чат. Никаких слов, никакого хайпа. Просто час кодинга под...