Sobes.tech
Junior — Middle

Czy interfejsy nie zawierające metod i interfejs, który pozwala na dowolne typy, są równoważne?

sobes.tech AI

Odpowiedź od AI

W Go interfejs, który nie zawiera metod, nazywa się pustym interfejsem interface{}. Jest to uniwersalny typ, który może zawierać wartość dowolnego typu.

Interfejs bez metod i interfejs dopuszczający dowolne typy są w zasadzie równoważne, ponieważ pusty interfejs nie nakłada żadnych ograniczeń na typy, które może zawierać.

Przykład:

var x interface{} // pusty interfejs
x = 42           // można przypisać int
x = "cześć"     // można przypisać string

W ten sposób pusty interfejs to sposób w Go na wyrażenie "dowolny typ". Interfejs bez metod i interfejs dopuszczający dowolne typy to to samo.