Junior — Middle
Как да се справим със ситуации, когато интерфейсът в езика за програмиране не съдържа методи или свойства?
sobes.tech AI
Отговор от AI
В Go интерфейс без методи е така нареченият празен интерфейс interface{}. Той може да съдържа стойности от всякакъв тип, тъй като всички типове реализират празния интерфейс.
Пример за използване:
var i interface{}
i = 42
fmt.Println(i) // извежда 42
i = "низ"
fmt.Println(i) // извежда низ
Ако интерфейсът не съдържа методи, той служи за съхранение на всяка стойност, но за работа с конкретен тип е необходимо да се използва твърдение за тип (type assertion) или превключвател за типове (type switch). Това позволява безопасно извличане на стойността на желания тип от празния интерфейс.