Junior — Middle
Wie kann man sicherstellen, dass die Datenstruktur die erforderliche Schnittstelle implementiert?
sobes.tech KI
Antwort von AI
In Go kann man überprüfen, ob eine Struktur eine Schnittstelle implementiert, indem man eine implizite Implementierung der Schnittstelle verwendet — es reicht, wenn die Struktur alle Methoden der Schnittstelle hat.
Für eine explizite Überprüfung zur Compile-Zeit wird häufig eine Zuweisung einer leeren Schnittstelle an eine Variabel vom Typ der Struktur hinzugefügt:
var _ MyInterface = (*MyStruct)(nil)
Dies veranlasst den Compiler zu überprüfen, ob MyStruct MyInterface implementiert. Falls nicht, tritt ein Kompilierungsfehler auf.
Dieser Ansatz ist nützlich für die Dokumentation und das frühzeitige Erkennen von Implementierungsfehlern bei Schnittstellen.