Converting slice of structs to slice of empty interface
我试图将一个结构切片分配给一个切片
基本上我有:
1 2 3 4 | var src []*MyStruct var dest []interface{} … dest = src // This line fails. |
是否有必要在不逐个复制每个元素的情况下,将
你得一次复制一份。这是不可能的。
如果它有助于接受这一点,那么您应该考虑这样一个事实:在接口中包装一个结构实际上是在内存级别包装它。接口包含指向原始类型的指针和类型本身的描述符。当将单个结构强制转换为接口时,实际上是在包装它。因此,为了将结构包装在接口中,需要一次复制它们。