Heim  >  Artikel  >  Backend-Entwicklung  >  So initialisieren Sie eine eingebettete Struktur in Go: Eine Anleitung mit zwei Ansätzen

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

Susan Sarandon
Susan SarandonOriginal
2024-11-17 15:44:02309Durchsuche

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
}

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
}

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
}

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!

Stellungnahme:
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