Go bietet das Konzept der Einbettung, das es einer Struktur ermöglicht, Felder eines anderen Typs zu enthalten, ohne ihre Implementierung zu duplizieren. Im Kontext eingebetteter Strukturen wird die Initialisierung der anonymen inneren Struktur zu einer wesentlichen Aufgabe.
Beachten Sie den folgenden Codeausschnitt, in dem die MyRequest-Struktur die http.Request einbettet struct:
type MyRequest struct { http.Request PathParams map[string]string }
Um die anonyme innere Struktur http.Request in der New-Funktion zu initialisieren, können Sie diesen Ansätzen folgen:
req := new(MyRequest) req.PathParams = pathParams req.Request = origRequest
req := &MyRequest{ PathParams: pathParams Request: origRequest }
Beide Ansätze erreichen das gleiche Ziel der Initialisierung des http .Request-Feld der MyRequest-Struktur mit dem bereitgestellten origRequest-Parameter.
Ein tieferes Verständnis der Einbettung und Feldbenennung in Strukturen finden Sie in der offiziellen Go-Dokumentation:
Das obige ist der detaillierte Inhalt vonWie initialisiere ich eingebettete Strukturen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!