Aaron2932

导航

gogo使用

gogo

https://zhuanlan.zhihu.com/p/362436742
https://zhuanlan.zhihu.com/p/361737524
$ go get github.com/gogo/protobuf/proto
$ go get github.com/gogo/protobuf/{binary} //protoc-gen-gogofast、protoc-gen-gogofaster 、protoc-gen-gogoslick 
$ go get github.com/gogo/protobuf/gogoproto
$ protoc -I=. -I=$GOPATH/src -I=$GOPATH/src/github.com/gogo/protobuf/protobuf --{binary}_out=. myproto.proto // 这里的{binary}不包含「protoc-gen」前缀
  • protoc-gen-gogo: 最快的速度,最多的可定制化

    • 可以通过扩展选项高度定制序列化。

go bench

https://blog.csdn.net/bigwhite20xx/article/details/105760238

v2 vs v3

下面这些和proto的协议没有必然练习,和protoc以及protoc-gen-go有关联

因为网上说 protoc-gen-go 此程序要使用 tag : 1.2.0 的版本

和protoc没有必然联系,只修改protoc-gen-gogo

默认下载的是v3的版本

go get github.com/gogo/protobuf/protoc-gen-gogofaster@v1.2.1

然后进行编译,就可以生成v3版本的,注意,要将gogo的编译选项和实际使用的二进制组合使用

GoGoProtoPackageIsVersion3
GoGoProtoPackageIsVersion2
proto.ProtoPackageIsVersion3
proto.ProtoPackageIsVersion2

posted on 2022-09-03 15:27  Aaron2932  阅读(259)  评论(0编辑  收藏  举报