將資料傳遞到 AppEngine 的 datastore.PutMulti 函數時,需要一片 []interface{}。但是,如果您嘗試將結構體切片 []*MyStruct 指派給 []interface{} 切片,則可能會導致編譯錯誤。
出現該錯誤是因為 Go 編譯器認為這兩種類型不相容,導致無法將src指派給dest。
不幸的是,沒有直接的方法將結構體切片複製到空介面切片中,而不單獨複製每個元素。這是因為將結構轉換為介面會建立該結構的包裝版本。介麵包含指向原始類型的指標和類型本身的描述符。因此,要正確包裝每個結構體,您必須將它們一一複製。
以上是如何在 Go 中將一片結構轉換為一片空介面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!