Junior — Middle
Egyenértékűek-e azok az interfészek, amelyek nem tartalmaznak metódusokat, és az, amely bármilyen típusokat engedélyez?
sobes.tech MI
Válasz az MI-től
Go-ban egy olyan interfész, amely nem tartalmaz metódusokat, az üres interfész interface{}-ként ismert. Ez egy univerzális típus, amely bármilyen típusú értéket tartalmazhat.
A metódus nélküli interfész és az összes típus elfogadására képes interfész lényegében ugyanaz, mert az üres interfész nem ró semmilyen korlátozást arra, hogy milyen típusokat tartalmazhat.
Példa:
var x interface{} // üres interfész
x = 42 // egész számot rendelhetünk hozzá
x = "helló" // stringet rendelhetünk hozzá
Így az üres interfész módja annak, hogy a Go-ban "bármilyen típus"-t fejezzünk ki. A metódus nélküli interfész és az összes típus elfogadására képes interfész ugyanaz.