Anonyme Felder in Go-Strukturen
Anonyme Felder in Go-Strukturen bieten eine einzigartige Möglichkeit, die Felder eines anderen Typs ohne in die aktuelle Struktur einzubetten sie explizit zu benennen. Es ermöglicht die Wiederverwendung von Code, die Zusammensetzung und die Flexibilität bei der Datenorganisation.
In dem von Ihnen bereitgestellten Beispiel:
type myType struct { string }
string ist ein anonymes Feld in der myType-Struktur. Wenn Sie eine Instanz von myType erstellen, ist das anonyme Feld intern eine benannte Zeichenfolge (dies kann in Debugging-Tools angezeigt werden).
Zugriff auf anonyme Felder
Im Gegensatz zu benannten Feldern auf die direkt über die Punktnotation (z. B. obj.name) zugegriffen werden kann, auf anonyme Felder kann nicht über ihre anonymen Namen zugegriffen werden. Sie stellen jedoch eine einzigartige Eigenschaft bereit, die als „Feldheraufstufung“ bekannt ist.
Das erste anonyme Feld in einer Struktur wird automatisch heraufgestuft und ist als direktes Feld der übergeordneten Struktur zugänglich. Dies bedeutet, dass Sie mit obj.string auf das Zeichenfolgenfeld von myType zugreifen können.
Zum Beispiel im folgenden Code:
func main() { obj := myType{"Hello World"} fmt.Println(obj) // Prints "Hello World" }
Die fmt.Println-Anweisung gibt den Wert der Zeichenfolge aus Anonymes Feld, auf das als obj.string zugegriffen werden kann.
Vorteile von Anonymous Felder
Das obige ist der detaillierte Inhalt vonWie funktionieren anonyme Felder in Go-Strukturen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!