首頁 >後端開發 >Golang >如何在 Go 中將一片結構轉換為一片空介面?

如何在 Go 中將一片結構轉換為一片空介面?

Patricia Arquette
Patricia Arquette原創
2024-12-10 13:07:10308瀏覽

How to Convert a Slice of Structs to a Slice of Empty Interfaces in Go?

將一片結構轉換為一片空介面

將資料傳遞到 AppEngine 的 datastore.PutMulti 函數時,需要一片 []interface{}。但是,如果您嘗試將結構體切片 []*MyStruct 指派給 []interface{} 切片,則可能會導致編譯錯誤。

出現該錯誤是因為 Go 編譯器認為這兩種類型不相容,導致無法將src指派給dest。

解決方法

不幸的是,沒有直接的方法將結構體切片複製到空介面切片中,而不單獨複製每個元素。這是因為將結構轉換為介面會建立該結構的包裝版本。介麵包含指向原始類型的指標和類型本身的描述符。因此,要正確包裝每個結構體,您必須將它們一一複製。

以上是如何在 Go 中將一片結構轉換為一片空介面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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