Go Struct Embedding Falle: Mehrdeutige Felder

2025-09-22

Das Struct Embedding in Go ist zwar leistungsstark zum Kombinieren von Typen, birgt aber eine potenzielle Falle. Wenn eingebettete Structs denselben Feldnamen haben, z. B. mehrere eingebettete Structs mit einem `URL`-Feld, priorisiert der Compiler unerwartet das am wenigsten verschachtelte Feld. Dieser Code demonstriert dieses subtile Problem und gibt `abc.com` aus, anstatt wie erwartet einen Kompilierfehler. Seien Sie vorsichtig beim Verwenden von Struct Embedding, um mehrdeutige Feldnamen und potenzielle Laufzeitüberraschungen zu vermeiden.