Как устроен type assertion на уровне runtime?

Senior
90 просмотров
AFK Offer AI

Type assertion i.(T) проверяет что itab.type в iface совпадает с типом T. Для конкретного типа — сравнение указателей на type descriptor (O(1)). Для интерфейса — проверка что тип реализует все методы (hash lookup в itab cache). Первый вызов медленный — строится itab, дальше кешируется. Comma-ok форма не паникует.

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

Что такое distributed lock через БД?