对golang protobuf 的扩展字段赋值时候一直提示proto: bad extension value type clkUrl:="z.cn" proto.SetExtension(seatbid, rtb.E_Clkurl, clkUrl) 查看源码后发现,对扩展字段赋值的时候会对第二个参数进行反射获取类型,判断第三个参数的类型和第二个是否匹配 , func SetExtension(pb Message, extension *ExtensionDesc, value i
1. proto文件编写的时候,如果用uint32或uint64类型,那么不能用required,必须用optional. 如果用错了,会出现错误:unmarshaling error: proto: required field "{Unknown}" not set 2.不支持的类型会出错: 比如说:protobuf.net定义的是decimal类型的变量,在proto中不管写float,还是写double都会出错. unmarshaling error: proto: b
参考文章:https://developers.google.com/protocol-buffers/docs/gotutorial 1.执行指令: go envgo get github.com/golang/protobuf/protoc-gen-go 如果是windows:会下载protoc-gen-go.exe到$GOPATH/bin下,把它拷贝到$PATH,它只是protobuf3的golang插件,还不是真正的编译器如果是linux:会下载protoc-gen-go到$GOPATH
转自: http://russmatney.com/techsposure/update-protobuf-golang-grpc/ TL;DR: When protobuf updates, all the .protos and deps need to update. This post is a quick-lookup for how to do that so I’m not googling it every time. Go Dependencies Update your re
wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gztar zxvf protobuf-2.6.1.tar.gz cd protobuf-2.6.1./configure make make install protoc -h go get github.com/golang/protobuf/protoc-gen-go cd github.com/golang/proto