Что такое unsafe.Sizeof?

Middle
346 просмотров
AFK Offer AI

unsafe.Sizeof(x) возвращает размер переменной x в байтах. Не размер данных, на которые она указывает, а размер самой переменной. unsafe.Sizeof(int64(0)) = 8, unsafe.Sizeof("hello") = 16 (string header: pointer + length, не длина строки). unsafe.Sizeof([]int{1,2,3}) = 24 (slice header: pointer + length + capacity). Вычисляется в compile time, не в рантайме. Полезно для низкоуровневой оптимизации и понимания memory layout структур. Аналог sizeof в C.

Следующий вопрос

Как профилировать в production?