我之所以有这个想法是因为看到标准库里的 func Unmarshal(data []byte, v interface{}) error
是这样的,并且传入任意结构体实例的指针给v, 就能解出对应的值。
我的例子的playground : https://play.golang.org/p/-WQQvSNqcJv
为什么我这个例子不可以呢?我有试着去看 Unmarshal
的原码,无奈有些看不懂,求大神们指教。
最好能把我的playground的修改一下,那么我看的就更清楚了。
有疑问加站长微信联系(非本文作者)

刚才实现了自己想要的结果,但是发现把整个东西弄的更麻烦了。
playground: https://play.golang.org/p/J1-y2o-FT-Z
感觉没有意义
用反射试试
v.(yourtype) ???
o,ok := object.(*User)
嗯嗯,后来发现断言确实可以,但是如果是传入的类型是[]User,需要怎么去做呢?用断言好像检查不出[]User。谢谢
这个确实可行,谢谢,但是要想将值 传出,还需要再考虑考虑
switch v.(type) {
case []int:
switch是可以判断是不是[]User的
这种需求在自定义数据交换格式映射到数据结构对象要用到,例如json、xml、orm...
我觉得更好一点可以看一下protobuf
哈哈,谢啦兄弟。
嗯嗯,这个没有听过,我了解一下,谢谢啦