1.安装go的protobuf
直接运行
go get -u github.com/golang/protobuf/{protoc-gen-go,proto}
会在 $gopath/bin 目录生成 protoc-gen-go,这个就是go的protoc编译器
其他语言的protoc编译器:
下载地址
然后放在proto/bin目录下(ps:只是环境变量的问题,有时候$gopath会改变,发在一个固定位置比较方便)
2.使用
创建 XX.proto 的文件
protobuf的语法十分简单
简单的例子:
syntax = "proto3"; //指定proto版本
// hello结构体名字
message Hello {
// 数据类型 字段名 = 1;
string Say = 1;
// repeated 数组
repeated LanguageType Language = 2;
}
// enum枚举
enum LanguageType{
Chinese = 0;
English = 1;
}
需要注意的是:
1.枚举要从0开始
2.没有int,一般写int64
3.proto3开始有map<键,值>类型
3.编译
编译成普通go文件:
protoc --go_out=指定地址 XX.proto
编译成grpc的go文件:
protoc --go_out=plugins=grpc:指定地址 XX.proto
这样就会在指定地址生成XX.pb.go 文件了
ok,现在就可以使用你生成的proto文件了