1. 安装golang for protobuf插件
执行命令 ,目录 $GOPATH/bin 下生成可执行文件 protoc-gen-go
go get -u -v github.com/golang/protobuf/protogo get -u -v github.com/golang/protobuf/protoc-gen-go
2. proto简单例子
//指定版本 使用protobuf3syntax="proto3";//每个 *.proto 文件可以指定 package 作为生成语言的 namespacepackage example;//message 用来定义一个数据结构//repeated 的使用:被 repeated 标识的字段可以理解为是一个数组//enum 类型使用:枚举用来表示一定范围内具有相同属性的值//message 类型的使用: message 在定义过程中是可以声明自己定义的 message 类型//map 类型的使用:message 定义时可以使用 map 类型message Person{int64 age = 1; //年龄string realname = 2;//真实姓名string sex = 3;//性别repeated string vehicle = 4; //上班交通工具 可以有多份工作 string 类型的enum Skills {GOLANG = 0;PYTHON = 1;JAVA = 2;RUST = 3;CPP = 4;}Skills skill = 5;//技能 枚举用来表示一定范围内具有相同属性的值WorkDays workDay = 6;//工作日 message 在定义过程中是可以声明自己定义的 message 类型map<string, Department> dept = 7;//挂靠部门 map 类型的使用:message 定义时可以使用 map 类型}message WorkDays {int32 day = 1;}message Department {string name = 1;}
3. 生成pb文件
进入目录执行
protoc --go_out=plugins=grpc:. common.proto
