„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So initialisieren Sie eine eingebettete Struktur in Go: einen Zwei-Ansatz-Leitfaden

So initialisieren Sie eine eingebettete Struktur in Go: einen Zwei-Ansatz-Leitfaden

Gepostet am 2025-03-22
Durchsuche:235

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 sind ein gemeinsames Szenario die Initialisierung der inneren anonymen Struktur. Dieser Artikel befasst sich mit einem solchen Szenario und liefert ein klares Verständnis dafür, wie die Initialisierung mit zwei Ansätzen erreicht werden kann.

Betrachten Sie die folgende eingebettete Struktur MyRequest:

type MyRequest struct {
    http.Request
    PathParams map[string]string
}

Um MyRequest zu initialisieren, müssen wir die Werte für seine eingebettete http.request -Struktur festlegen. So kann es getan werden:

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

In diesem Ansatz erstellen wir zunächst ein neues MyRequest -Objekt und weisen es dem Req zu. Wir setzen dann das Feld patharams entsprechend. Anschließend greifen wir auf die eingebettete Http.Request -Struktur auf und setzen Pathparams: Pathparams Anfrage: Original }

Hier erstellen wir eine anonyme Struktur mit den erforderlichen Feldern. Es ist wichtig, den eingebetteten Strukturnamen mit '&' für die ordnungsgemäße Initialisierung zu präfixen. Dies führt zu einem MyRequest -Objekt mit den gewünschten Werten.

req := &MyRequest{
  PathParams: pathParams
  Request: origRequest
}
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3