go使用protobuf

admin / 文章 / ... / Reads: 5204

go使用protobuf

在go中使用protobuf,有两个可选用的包goprotobuf(go官方出品)和gogoprotobuf。 gogoprotobuf完全兼容google protobuf,它生成的代码质量和编解码性能均比goprotobuf高一些

安装protobuf

go get github.com/golang/protobuf/proto

使用goprotobuf

安装goprotobuf

go get github.com/golang/protobuf/protoc-gen-go

使用

protoc --go_out=. *.proto

使用gogoprotobuf

安装gogoprotobuf库

go get github.com/gogo/protobuf/proto
go get github.com/gogo/protobuf/gogoproto //这个不装也没关系

有两个插件可用

protoc-gen-gogo:和protoc-gen-go生成的文件差不多,性能稍微好一点
protoc-gen-gofast:生成的文件更复杂,性能快5-7倍

安装使用 protoc-gen-gogo

  1. go get github.com/gogo/protobuf/protoc-gen-gogo

  2. 进入到库的根目录【比如:cd $GOPATH/pkg/mod/github.com/gogo/protobuf@v1.3.2/protoc-gen-gogo】 Snip20221108_1

  3. 编译生成protoc-gen-gogo 【命令:go build】,并把生成的protoc-gen-gogo文件移到 $GOPATH/bin 目录下方便后续使用 WX20221108-173344@2x

  4. 使用:protoc --gogo_out=. *.proto

注意:此处如果不走第2,3步,使用时可能会报错:protoc-gen-gogo: program not found or is not executable

参考资料

https://www.cnblogs.com/jxzCoding/articles/16092494.html

例子
https://zhuanlan.zhihu.com/p/462408717
https://blog.csdn.net/qq_44766883/article/details/123955300

protoc --gogo_out=./src/protocol  ./src/protocol/*.proto --proto_path=./src/protocol

Comments

Make a comment

Author: admin

Publish at: ...

关于作者

王硕,网名信平,十多年软件开发经验,架构师,熟悉 Java/Python/Go 等,喜欢研究技术,读书,音乐和宅在家里。
专注于研究互联网产品和技术,提供中文精品教程。

免责声明

本网站(ultrapower.com)系个人博客,仅用于分享个人兴趣、技术经验及观点交流,不涉及任何商业行为。本域名自购入以来,一直用于个人合法用途,与任何第三方不存在任何关联或合作关系。

网站内容与任何企业、机构、商标无关,亦未授权他人使用。本网站对域名的使用合法、正当,且与其他任何公司或商标无任何形式的关联或合作关系。

若任何机构或个人对本网站或网站内容有任何疑问,欢迎通过电子邮件与站长联系,协商沟通解决。

Email: xujieiata@163.com


本站总访问量
www.ultrapower.com ,王硕的学习笔记,专注于研究互联网产品和技术,提供中文精品教程。 本网站与其它任何公司及/或商标无任何形式关联或合作。