将数据传递到 AppEngine 的 datastore.PutMulti 函数时,需要一片 []interface{}。但是,如果您尝试将结构体切片 []*MyStruct 分配给 []interface{} 切片,则可能会导致编译错误。
出现该错误是因为 Go 编译器认为这两种类型不兼容,导致无法将src分配给dest。
不幸的是,没有直接的方法将结构体切片复制到空接口切片中,而不单独复制每个元素。这是因为将结构转换为接口会创建该结构的包装版本。接口包含指向原始类型的指针和类型本身的描述符。因此,要正确包装每个结构体,您必须将它们一一复制。
以上是如何在 Go 中将一片结构转换为一片空接口?的详细内容。更多信息请关注PHP中文网其他相关文章!