使用等效成員和不同類型複製結構
考慮以下場景:您有兩個不同的結構體Foo 和Bar,每個結構體都擁有相同的結構體成員,但其基礎類型不同。您的目標是將一個結構的內容傳輸到另一個結構。
在這種情況下,請考慮以下結構定義:
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 的實例 foo 和 Bar 的 bar,如何bar 可以從 foo 複製嗎?
解決方案:輸入轉換
由於 Foo 和 Bar 的基本類型在結構上是等效的,因此可以採用型別轉換來改變物件類型。以下程式碼示範如何使用轉換將Foo 值複製到Bar 值:
foo := Foo{Id: "123", Name: "Joe"} bar := Bar(foo)
類型相容性說明
記住這種類型轉換技術至關重要僅當結構的基礎類型本質上相同時才有效,除了任何結構標記。
以上是如何在 Go 中複製具有等效成員但類型不同的結構體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!