Go语言环境中使用Protobuf3
安装编译器:protoc
brew install protobuf
安装golang for protobuf插件:protoc-gen-go
go get -u -v github.com/golang/protobuf/proto
go get -u -v github.com/golang/protobuf/protoc-gen-go
# 也可以忽略上一步,直接安装protoc-gen-go,protoc和go会作为依赖被安装
brew install protoc-gen-go
说明:如果没有安装go环境,可以直接使用brew安装protoc-gen-go,同时go和protobuf会作为依赖一并被安装好!如果go环境是单独安装的,那最好还是通过go get的方式安装,可执行文件会被存放在$GOBIN下。
protoc编译示例
syntax = "proto3";
// 假设有如下proto文件
package Demo;
// 这里直接指定包名称,不使用默认包名:Demo
option go_package = "Project/Demo";
enum Gender {
UNKNOW = 0;
MALE = 1;
FEMALE = 2;
}
message Grade {
int32 id = 1; //整形
string name = 2; //字符串
Gender gender = 3; //枚举类型
map<string, float> score = 4; //map映射
}
编译:
protoc --go_out=./ demo.proto
#或
protoc --go_out=./ -I=./ demo.proto
#或
protoc --go_out=./ -I=./ *.proto
结果:
可以发现:protoc已经按照我们指定的包设定,自动创建了相应的路径,并把编译号的go文件存储到路径下!
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 irvin.em@live.com。
文章标题:Go语言环境中使用Protobuf3
文章字数:281
本文作者:dino
发布时间:2019-11-17, 17:20:49
最后更新:2019-11-18, 16:08:49
原始链接:https://blog.walkbc.com/2019/11/17/protobufWithGolang/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。
QQ交流群:273078549