Heim > Artikel > Backend-Entwicklung > Wie konvertiert man zwischen Go-Strukturen mit unterschiedlichen Feldern?
Strukturkonvertierung in Go
F: Ich habe zwei Strukturen mit unterschiedlichen Feldern. Wie kann ich eine Variable vom Typ A in Typ B konvertieren, wobei A nur wesentliche Felder und B zusätzliche Felder enthält? Ist es möglich, diese Konvertierung direkt durchzuführen oder muss ich Felder manuell kopieren?
A: In Go kann die Strukturkonvertierung durch Nutzung der Einbettungsfunktion durchgeführt werden. Dadurch können Sie die Felder einer Struktur in einer anderen verschachteln. In Ihrem Fall haben Sie beispielsweise eine Struktur A mit zwei Feldern (a und b) und eine Struktur B, die Struktur A einbettet und zusätzliche Felder (c und möglicherweise weitere) hinzufügt.
Zur Konvertierung von A zu B können Sie einfach eine B-Struktur erstellen und eine Instanz von A darin einbetten:
<code class="go">type A struct { a int b string } type B struct { A c string } func main() { // create structA of type A structA := A{a: 42, b: "foo"} // convert to type B structB := B{A: structA} // access the fields of structB fmt.Println(structB.a, structB.b, structB.c) // Output: 42 foo (additional value) }</code>
Das obige ist der detaillierte Inhalt vonWie konvertiert man zwischen Go-Strukturen mit unterschiedlichen Feldern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!