Wie wir alle wissen, sind Felder, die mit Großbuchstaben beginnen, öffentliche Felder und Felder, die mit Nicht-Großbuchstaben beginnen, private Felder. Golang unterstützt aber auch anonyme Felder. Zum Beispiel:
type myType struct { string }
Diese Felder sind zum Einbetten vorgesehen. Aber ist dieser Bereich öffentlich oder privat?
Wenn der Typname eines eingebetteten Typs in Kleinbuchstaben geschrieben ist, ist das Paket sichtbar. Zum Beispiel:
type t struct { string } func main() { x := t{} x.string = "a" fmt.println(x) }
Wenn Sie jedoch t
移动到另一个包 p
eingeben:
package p type t struct { string }
package main import "testmod/p" func main() { x := p.T{} x.string = "a" // Error }
Das obige ist der detaillierte Inhalt vonSind anonyme Go-Strukturfelder öffentlich oder privat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!