首頁 >後端開發 >Golang >如何在不同類型的相似 Go 結構之間賦值?

如何在不同類型的相似 Go 結構之間賦值?

DDD
DDD原創
2024-12-13 20:32:18769瀏覽

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

在具有不同類型的相似結構之間賦值

擁有具有相同成員但不同類型的結構可能會產生在它們之間傳輸資料的需要。在這種情況下,類型轉換可以提供解決方案。

考慮以下結構體定義:

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
}

要將值從Foo 結構體傳輸到Bar 結構體,您可以使用類型轉換:

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

在在這種情況下,轉換有效,因為Foo 和Bar 的基礎類型除了結構標籤之外都是相同的。轉換會自動將 foo 的 Common 成員的值指派給 bar 的對應成員。

提供了一個 Playground 範例作為參考:[Playground 範例](https://play.golang.org/p /FmF4FjJ0B4n)

以上是如何在不同類型的相似 Go 結構之間賦值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn