English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang Grundtutorials

Golang Kontrollanweisungen

Golang Funktion & Methode

Golang Struktur

Golang Slice & Array

Golang String(String)

Golang Zeiger

Golang Schnittstelle

Golang Konkurrenz

Golang Ausnahme(Error)

Golang andere Artikel

Go-Sprache Struktur und Zeiger

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}