Aufrufen von Basistypmethoden beim Überladen eingebetteter Typen
Beim Definieren benutzerdefinierter Typen in Go ist es möglich, eine Struktur in eine andere einzubetten, was Folgendes ermöglicht Code-Wiederverwendung und vererbungsähnliche Funktionalität. Dies kann jedoch beim Überladen von Methoden zu Konflikten führen.
Im bereitgestellten Beispiel haben die Human- und Employee-Strukturen SayHi-Methoden überlastet. Ist es möglich, die Human-Methode durch direkten Zugriff auf den eingebetteten Typ aufzurufen?
Ja, das ist tatsächlich möglich. Um auf die eingebettete Struktur eines übergeordneten Typs zuzugreifen, verwenden Sie einfach den Namen des eingebetteten Typs als Mitglied der übergeordneten Struktur. Um beispielsweise die Human-Methode aus der Employee-Instanz aufzurufen:
sam := Employee{Human{"Sam", 45, "111-888-XXXX"}, "Golang Inc"} sam.Human.SayHi()
Dies wird Folgendes ausgeben:
Hi, I am Sam you can call me on 111-888-XXXX
Beachten Sie, dass Sie auch direkt über die eingebettete Struktur auf die Felder des übergeordneten Typs zugreifen können . Beispielsweise würde sam.age auf das Altersfeld der eingebetteten Struktur „Mensch“ innerhalb der Struktur „Mitarbeiter“ zugreifen.
Das obige ist der detaillierte Inhalt vonKönnen Sie Basistypmethoden in eingebetteten Typen mit überladenen Methoden in Go aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!