我之所以有这个想法是因为看到标准库里的 `func Unmarshal(data []byte, v interface{}) error` 是这样的,并且传入任意结构体实例的指针给v, 就能解出对应的值。
我的例子的playground : [https://play.golang.org/p/-WQQvSNqcJv](https://play.golang.org/p/-WQQvSNqcJv)
为什么我这个例子不可以呢?我有试着去看 `Unmarshal` 的原码,无奈有些看不懂,求大神们指教。
最好能把我的playground的修改一下,那么我看的就更清楚了。
这种需求在自定义数据交换格式映射到数据结构对象要用到,例如json、xml、orm...
1. 自定义struct字段的tag
2. 再通过反射和类型转换把数据映射到对象
我觉得更好一点可以看一下protobuf
#8
更多评论
刚才实现了自己想要的结果,但是发现把整个东西弄的更麻烦了。
playground: [https://play.golang.org/p/J1-y2o-FT-Z](https://play.golang.org/p/J1-y2o-FT-Z)
感觉没有意义
#1