Konvertierung zwischen Go-Strukturen
In Go bieten Strukturen eine praktische Möglichkeit, Daten zu organisieren und darzustellen. Allerdings kann manchmal eine Konvertierung zwischen Strukturen unterschiedlichen Typs erforderlich sein. Stellen Sie sich das folgende Szenario vor:
Sie haben zwei Strukturen, A und B, wobei A nur wenige wesentliche Felder enthält, während B zusätzliche Felder enthält und alle Felder von A erbt. Sie möchten eine Variable vom Typ A konvertieren in Typ B, ohne die Werte manuell zu kopieren.
Lösung
Go bietet eine einfache Möglichkeit, diese Art der Konvertierung zu erreichen:
<code class="go">package main type A struct { a int b string } type B struct { A c string // Additional fields } func main() { // Create a variable of type A structA := A{a: 42, b: "foo"} // Convert structA to type B using embedded struct structB := B{A: structA} }</code>
In In diesem Beispiel bettet die B-Struktur eine Instanz von A mithilfe ihres anonymen Felds ein. Beim Konvertieren von structA in structB werden die Felder von structA automatisch den entsprechenden Feldern in structB zugewiesen, einschließlich des c-Felds, das in A nicht vorhanden war. Dadurch können Sie mühelos eine vollständige B-Struktur aus einer vorhandenen A-Variablen erstellen.
Das obige ist der detaillierte Inhalt vonWie konvertiert man Go-Strukturen mit eingebetteten Strukturen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!