Heim >Backend-Entwicklung >Golang >Wie weist man Werte zwischen ähnlichen Go-Strukturen mit unterschiedlichen Typen zu?

Wie weist man Werte zwischen ähnlichen Go-Strukturen mit unterschiedlichen Typen zu?

DDD
DDDOriginal
2024-12-13 20:32:18779Durchsuche

How to Assign Values Between Similar Go Structs with Different Types?

Werte zwischen ähnlichen Strukturen mit unterschiedlichen Typen zuweisen

Strukturen mit identischen Mitgliedern, aber unterschiedlichen Typen können dazu führen, dass Daten zwischen ihnen übertragen werden müssen. In solchen Fällen kann eine Typkonvertierung eine Lösung bieten.

Bedenken Sie die folgenden Strukturdefinitionen:

type Common struct {
    Gender int
    From   string
    To     string
}

type Foo struct {
    Id    string
    Name  string
    Extra Common
}

type Bar struct {
    Id    string
    Name  string
    Extra Common
}

Um Werte von einer Foo-Struktur in eine Bar-Struktur zu übertragen, können Sie einen Typ verwenden Konvertierung:

foo := Foo{Id: "123", Name: "Joe"}
bar := Bar(foo)

In diesem Fall funktioniert die Konvertierung, weil die zugrunde liegenden Typen von Foo und Bar bis auf ihre Struktur-Tags identisch sind. Bei der Konvertierung werden die Werte des Common-Mitglieds von foo automatisch dem entsprechenden Mitglied von bar zugewiesen.

Als Referenz wird ein Playground-Beispiel bereitgestellt: [Playground-Beispiel](https://play.golang.org/p /FmF4FjJ0B4n)

Das obige ist der detaillierte Inhalt vonWie weist man Werte zwischen ähnlichen Go-Strukturen mit unterschiedlichen Typen zu?. 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