记录:通过golang的reflect包创建value的指针

这个问题困扰了我一定时间,搜了一圈后发先自己2了

先用New创建空指针

然后给指针的Elem设置为具体的值。

主要一直以为New出来的对象没发用,是个zero value,到处panic,没反映过来elem还是可以用来set的。

其实想想也是,如果没法赋值的话,这个New函数有什么用……

大概代码:

    var v = mapvalue.MapIndex(reflect.ValueOf(key))
    var vp = reflect.New(v.Type())
    vp.Elem().Set(v)
发布于
2018-01-03
点击登录