Können Sie Basistypmethoden in eingebetteten Typen mit überladenen Methoden in Go aufrufen?

Barbara Streisand
Freigeben: 2024-11-15 10:39:03
Original
390 Leute haben es durchsucht

Can You Call Base Type Methods in Embedded Types with Overloaded Methods in Go?

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()
Nach dem Login kopieren

Dies wird Folgendes ausgeben:

Hi, I am Sam you can call me on 111-888-XXXX
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage