php-Editor Strawberry wird Ihnen heute die globale Strukturinitialisierung in Golang vorstellen. In Golang können Sie Strukturen zum Organisieren und Verwalten von Daten verwenden. Die globale Strukturinitialisierung ist eine praktische und häufig verwendete Methode. Durch die globale Strukturinitialisierung können wir die Struktur beim Start des Programms initialisieren und so die Mühe einer manuellen Initialisierung bei jeder Verwendung der Struktur vermeiden. Im Folgenden stellen wir die spezifischen Methoden und Vorsichtsmaßnahmen für die globale Strukturinitialisierung im Detail vor, damit jeder diese Funktion besser verstehen und verwenden kann.
Ich möchte eine globale Strukturvariable deklarieren, die zu einem bestimmten Paket gehört, und sie initialisieren.
Ich habe folgende Verzeichnisstruktur:
main ├── symbol | ├── symbol.go | └── comma.go ├── main.go └── go.mod
symbol.go:
package symbol type symbol struct{ name string format string }
comma.go:
package symbol var comma = symbol{} comma.name = "comma" comma.format = ","
main.go:
package main import "fmt" import "github.com/.../symbol" func main() { s := symbol.Comma fmt.Println(s.Name) }
Wenn ich es ausführe, heißt es:
syntax错误:函数体外部的非声明语句
Wie kann ich dieses Problem lösen?
Deklarationsanweisungen sind der einzige auf Paketebene zulässige Anweisungstyp. Aussage
comma.name = "comma" comma.format = ","
ist eine Zuweisungsanweisung. Die Abtretung ist keine Erklärung.
Es gibt zwei Möglichkeiten, dieses Problem zu lösen. Die erste und bevorzugte Methode besteht darin, ein „zusammengesetztes Literal“ zu verwenden, um den Wert in der Variablendeklaration zu initialisieren.
var comma = symbol{name: "comma", format: ","}
func init() { Comma.Name = "Comma" Comma.Format = "," }
init
Funktionen werden automatisch ausgeführt, wenn das Paket initialisiert wird. Das obige ist der detaillierte Inhalt vonInitialisierung der globalen Golang-Struktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!