首頁 > 後端開發 > Golang > 如何使用欄位嵌入在 Go 結構之間進行轉換?

如何使用欄位嵌入在 Go 結構之間進行轉換?

Susan Sarandon
發布: 2024-10-27 01:58:30
原創
812 人瀏覽過

How can I convert between Go structs using field embedding?

Go 結構體之間的轉換

使用多個結構體時,通常需要將資料從一個結構體轉換為另一個結構體。在 Go 中,這可以透過稱為字段嵌入的技術來實現。

考慮以下程式碼片段:

<code class="go">type A struct {
    a int
    b string
}

type B struct {
    A // field embedding of A
    c string
    // more fields
}</code>
登入後複製

在此範例中,struct B 嵌入了 struct A。這意味著 struct B除了自身的欄位之外,還包含結構體 A 的所有欄位。

要將類型 A 的值轉換為類型 B,只需將 A 的欄位指派給 B 的欄位即可。例如:

<code class="go">func main() {
    structA := A{a: 42, b: "foo"}

    // assign structA to the embedded A field of structB
    structB := B{A: structA}
}</code>
登入後複製

透過欄位嵌入,您可以輕鬆地在結構體之間進行轉換,無需手動複製欄位或建立轉換方法。

以上是如何使用欄位嵌入在 Go 結構之間進行轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板