Sobes.tech
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). Това позволява безопасно извличане на стойността на желания тип от празния интерфейс.