go语言能通过反射初始化一个非空的指针么??

soluty · · 725 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

最近有给小功能需求,找了一圈都没找到怎么实现,所以请教一下各位大哥,需求是这样的 动态的序列化protobuf, 比如通过proto中消息的名字来序列号proto 我的实现思路如下: 首先 通过protoc生成对应的*.pb.go文件,然后编译另外一个工程,另一个工程的main函数通过加载*.pb.go文件,然后通过反射来序列化。 因为pb.go文件会在init方法中注册类型,所以可以通过proto.MessageType(name)方法取到pb.go文件中的Type信息 然后通过reflect.New()方法可以取到结构体的指针,再通过各种field方法设置值。 目前我卡在,通过reflect.New方法怎么都一直为nil,我没办法将其指向某个存在的结构体的指针,翻遍了reflect包的test中也没看到类似用法,希望各位大神能帮帮忙!!

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

725 次点击  
加入收藏 微博
1 回复  |  直到 2019-01-31 14:24:25
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传