Junior — Middle
Hogyan kezeljük az olyan helyzeteket, amikor a programozási nyelv interfésze nem tartalmaz metódusokat vagy tulajdonságokat?
sobes.tech MI
Válasz az MI-től
Go-ban a metódus nélküli interfész az úgynevezett üres interfész interface{}. Bármilyen típusú értéket tartalmazhat, mivel minden típus megvalósítja az üres interfészt.
Használati példa:
var i interface{}
i = 42
fmt.Println(i) // kiírja 42
i = "szöveg"
fmt.Println(i) // kiírja a szöveget
Ha az interfész nem tartalmaz metódusokat, akkor bármilyen érték tárolására szolgál, de a konkrét típuson való munkához típusállítást (type assertion) vagy típusváltást (type switch) kell használni. Ez lehetővé teszi a kívánt típus értékének biztonságos kivonását az üres interfészből.