[]byte:不转换,按原样返回
struct:转换为struct,我的代码如下:,此代码在将 jsonbytearray 的类型转换为 t 时出现类型错误,如下所示:,如何将这个[]byte类型变量的指针赋给泛型类型返回值?,由于
t
受到any
的约束,所以不能直接转换。您必须断言 &jsonbytearray
实际上与该开关情况下的 *t
类型相同:,这使得编译错误消失,但这并不是特别好的设计。如果您需要将 json.unmarshal
专门用于一种类型 (*[]byte
),您最好更改调用站点而不是使用通用函数。,我假设您的目标是允许调用者按原样获取字节切片,而不是解组。然后在调用站点,您可以将该函数调用为,这意味着此时您已经知道 jsonbytearray
是一个字节切片。,那么,就没有理由调用该函数了。您可以简单地获取参数的地址: data := &jsonbytearray
,并在其他地方使用 json.unmarshal
。,