English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Sie können auch auf Zeigerstructden Zeiger verwenden. Golang struct (Struktur) ist ein vom Benutzer definierte Typ, der es ermöglicht, möglicherweise unterschiedliche Typen von Projekten zu gruppieren/Kombiniere zu einem einzigen Typ. Um auf Zeiger auf die Struktur zuzugreifen, kannst du&Operator, der Adressoperator ist. Golang ermöglicht es Programmierern, auf die Felder der Struktur zuzugreifen, ohne die Entkoppelung explizit zu verwenden.
Beispiel1:Hier erstellen wir eine Struktur namens Employee, die zwei Variablen hat. Erstellen Sie im Hauptprogramm eine Instanz der Struktur, d.h. emp, und Sie können die Adresse der Struktur an einen Zeiger auf das Konzept der Struktur übergeben. Es ist nicht erforderlich, die Entkoppelung explizit zu verwenden, da sie dasselbe Ergebnis wie der obige Programmcode gibt (zwei ABC).
package main import "fmt" //Definiere die Struktur type Employee struct { //Setze das Feld name string empid int } func main() { //Erstellte Instanz //Arbeiter-Strukturtyp emp := Employee{ 19078} //Hier bezieht sich das auf einen Zeiger auf das Struktur pts := &emp fmt.Println(pts) //Zugriff auf das Strukturfeld (Name des Mitarbeiters) //Verwenden Sie Zeiger, aber hier verwenden wir keine explizite Entkoppelung fmt.Println(pts.name) //Durch explizite Verwendung der Entkoppelung //Stellt das Ergebnis wie oben dar fmt.Println(*pts.name) }
Ausgabe:
&{ABC 19078} ABC ABC
Beispiel2:Sie können auch Zeiger verwenden, um den Wert von Strukturmitgliedern oder Strukturkörpern zu ändern, wie folgt:
package main import "fmt" //Definiere die Struktur type Employee struct { name string empid int } func main() { //Erstellte Instanz //Arbeiter-Strukturtyp emp := Employee{ 19078} //Hier bezieht sich das auf einen Zeiger auf das Struktur pts := &emp //Zeige den Wert an fmt.Println(pts) //Aktualisiere den Wert von name pts.name = "XYZ" fmt.Println(pts) }
Ausgabe:
&{ABC 19078} &{XYZ 19078}