Post Thumbnail

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

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

Похожее

Post Thumbnail

Wi-Fi данные

Не знаю зачем вам это может буть нужно, но мне всегда нравятся статьи по работе ...

Post Thumbnail

Golang Ревью

Продолжение серии заметок о неочевидных и опасных поведениях Go, дополнение к пе...