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.