Ответ
Type assertion в Go позволяет получить доступ к конкретному типу значения интерфейса. Синтаксис: value, ok := someInterface.(Type). Если тип совпадает, value будет содержать приведённое значение, а ok — true. Если нет — ok будет false, а value — нулевым значением типа.
Пример:
var i interface{} = "hello"
s, ok := i.(string) // s = "hello", ok = true
f, ok := i.(float64) // f = 0.0, ok = false
Без проверки ok при несоответствии типов возникнет паника:
s := i.(string) // OK
f := i.(float64) // panic!
Используется для работы с пустыми интерфейсами (interface{}) или когда нужно уточнить конкретный тип.