Strukturkonvertierung in Go
In Go bieten Strukturen eine praktische Möglichkeit, Daten mit benannten Feldern darzustellen. Es können jedoch Situationen auftreten, in denen Strukturen verschiedener Typen konvertiert werden müssen.
Betrachten Sie das folgende Beispiel:
<code class="go">type A struct { a int b string } type B struct { A c string // more fields }</code>
Angenommen, Sie haben eine Variable vom Typ A und möchten sie in einen Typ konvertieren B. Gibt es in Go einen integrierten Mechanismus für diese Konvertierung?
Die Antwort lautet „Ja“. In Go können Strukturfelder eingebettet werden, was eine einfache Konvertierung zwischen Strukturen ermöglicht. Im obigen Beispiel bettet B A ein, was bedeutet, dass es alle Felder von A als eigene Felder enthält.
Um eine Variable vom Typ A in Typ B umzuwandeln, können Sie einfach den Wert von A zuweisen eingebettetes A-Feld in B. So geht's:
<code class="go">func main() { // create structA of type A structA := A{a: 42, b: "foo"} // convert to type B structB := B{A: structA} }</code>
Dieser Code weist den Wert von structA dem eingebetteten A-Feld in structB zu und konvertiert structA effektiv in Typ B.
Das obige ist der detaillierte Inhalt vonWie kann ich in Go zwischen verschiedenen Strukturtypen konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!