Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich mithilfe der Feldeinbettung zwischen Go-Strukturen konvertieren?

Wie kann ich mithilfe der Feldeinbettung zwischen Go-Strukturen konvertieren?

Susan Sarandon
Susan SarandonOriginal
2024-10-27 01:58:30731Durchsuche

How can I convert between Go structs using field embedding?

Konvertieren zwischen Go-Strukturen

Bei der Arbeit mit mehreren Strukturen ist es oft notwendig, Daten von einer Struktur in eine andere zu konvertieren. In Go kann dies durch eine Technik namens Feldeinbettung erreicht werden.

Betrachten Sie den folgenden Codeausschnitt:

<code class="go">type A struct {
    a int
    b string
}

type B struct {
    A // field embedding of A
    c string
    // more fields
}</code>

In diesem Beispiel bettet Struktur B Struktur A ein. Dies bedeutet, dass Struktur B enthält alle Felder der Struktur A zusätzlich zu ihren eigenen Feldern.

Um einen Wert vom Typ A in Typ B umzuwandeln, können Sie einfach die Felder von A denen von B zuweisen. Zum Beispiel:

<code class="go">func main() {
    structA := A{a: 42, b: "foo"}

    // assign structA to the embedded A field of structB
    structB := B{A: structA}
}</code>

Durch die Feldeinbettung können Sie ganz einfach zwischen Strukturen konvertieren, ohne dass Sie Felder manuell kopieren oder Konvertierungsmethoden erstellen müssen.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe der Feldeinbettung zwischen Go-Strukturen konvertieren?. 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