Junior — Middle
Hogyan lehet biztosítani, hogy az adatszerkezet a szükséges interfészt valósítja meg?
sobes.tech MI
Válasz az MI-től
A Go nyelvben, hogy ellenőrizzük, egy struktúra megvalósítja-e az interfészt, használhatunk rejtett interfész megvalósítást — elég, ha a struktúra rendelkezik az interfész összes módszerével.
A fordítási időben történő explicit ellenőrzéshez gyakran hozzáadnak egy üres interfész hozzárendelést egy olyan változóhoz, amely a struktúra típusát használja:
var _ MyInterface = (*MyStruct)(nil)
Ez arra készteti a fordítót, hogy ellenőrizze, a MyStruct megvalósítja-e a MyInterface-t. Ha nem, fordítási hiba lesz.
Ez a megközelítés hasznos dokumentálásra és a felületi megvalósítási hibák korai felismerésére.