So initialisieren Sie eine eingebettete Struktur in Go: Eine Anleitung mit zwei Ansätzen

Susan Sarandon
Freigeben: 2024-11-17 15:44:02
Original
308 Leute haben es durchsucht

How to Initialize an Embedded Struct in Go: A Two-Approach Guide

Initialisieren einer eingebetteten Struktur in Go

Bei der Arbeit mit eingebetteten Strukturen in Go besteht ein häufiges Szenario darin, die innere anonyme Struktur zu initialisieren. Dieser Artikel befasst sich mit einem solchen Szenario und bietet ein klares Verständnis dafür, wie eine Initialisierung mit zwei Ansätzen erreicht werden kann.

Betrachten Sie die folgende eingebettete Struktur MyRequest:

type MyRequest struct {
    http.Request
    PathParams map[string]string
}
Nach dem Login kopieren

Um MyRequest zu initialisieren, müssen wir festlegen die Werte für die eingebettete http.Request-Struktur. So geht das:

func New(origRequest *http.Request, pathParams map[string]string) *MyRequest {
    req := new(MyRequest)
    req.PathParams = pathParams
    req.Request = origRequest
    return req
}
Nach dem Login kopieren

Bei diesem Ansatz erstellen wir zunächst ein neues MyRequest-Objekt und weisen es req zu. Anschließend legen wir das PathParams-Feld entsprechend fest. Anschließend greifen wir auf die eingebettete http.Request-Struktur zu und legen sie fest, indem wir auf req.Request verweisen.

Alternativ können wir die eingebettete Struktur auch mit der folgenden Syntax initialisieren:

req := &MyRequest{
  PathParams: pathParams
  Request: origRequest
}
Nach dem Login kopieren

Hier, wir Erstellen Sie eine anonyme Struktur mit den erforderlichen Feldern. Für eine ordnungsgemäße Initialisierung ist es wichtig, dem Namen der eingebetteten Struktur ein „&“ voranzustellen. Dies führt zu einem MyRequest-Objekt mit den gewünschten Werten.

Beide Ansätze initialisieren effektiv die eingebettete http.Request-Struktur in MyRequest, sodass Sie sie nach Bedarf anpassen und verwenden können. Weitere Informationen finden Sie in der Go-Spezifikation zu benannten Feldern für eingebettete Strukturen.

Das obige ist der detaillierte Inhalt vonSo initialisieren Sie eine eingebettete Struktur in Go: Eine Anleitung mit zwei Ansätzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage