我需要一种将结构/接口动态转换回其原始对象的方法。我可以在其中添加方法/函数。基本上我需要这样的东西:
MyStruct => Interface{} => MyStruct
在最后一次转换时,除了该结构内部的内容外,我对原始结构一无所知,所以我不能只是这样:
a.(MyStruct)
否:如本主题所述
Go既不是协变也不是协变。类型 相等 或不 相等 。 您必须将结构拆开并处理碎片,或者使用反射。 类型断言只是“ 断言 ”,而不是任何类型的“强制”。
Go既不是协变也不是协变。类型 相等 或不 相等 。
您必须将结构拆开并处理碎片,或者使用反射。 类型断言只是“ 断言 ”,而不是任何类型的“强制”。
另请参阅此线程,它提醒我们:
指针是一种类型。 结构是另一种类型。 整数是另一种类型。 浮点数是另一种类型。 布尔值是另一种类型。 接口的原理与类型关联的方法有关,与类型T无关T。 接口类型由一组方法定义。 可以将实现方法的任何值分配给该类型的接口值。
接口的原理与类型关联的方法有关,与类型T无关T。
T
接口类型由一组方法定义。 可以将实现方法的任何值分配给该类型的接口值。
这将使从接口到具体类型的转换变得非常困难。