Sobes.tech
Junior — Middle

Евтини ли са интерфейсите без методи и интерфейсът, който допуска всякакви типове?

sobes.tech AI

Отговор от AI

В Go интерфейсът, който не съдържа методи, се нарича празен интерфейс interface{}. Той е универсален тип, който може да съдържа стойност от всеки тип.

Интерфейсът без методи и интерфейсът, допускащ всякакви типове, по същество са еднакви, защото празният интерфейс не налага никакви ограничения върху типовете, които може да съдържа.

Пример:

var x interface{} // празен интерфейс
x = 42           // може да се присвои int
x = "здравей"  // може да се присвои string

По този начин, празният интерфейс е начин в Go да се изрази "всеки тип". Интерфейсът без методи и интерфейсът, допускащ всякакви типове, са едно и също нещо.