Что такое interface boxing и его стоимость?

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

Когда значение присваивается интерфейсу, Go создаёт iface/eface структуру: указатель на type info + указатель на данные. Если значение больше pointer size — оно копируется в heap (boxing). Это аллокация. Маленькие значения (int, bool) могут оптимизироваться. Каждое присваивание интерфейсу — потенциальная аллокация и нагрузка на GC.

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

Что такое PostGIS?