Protocol Buffers,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。grpc框架将通过此协议进行通讯。
protoc 程序去 https://github.com/protocolbuffers/protobuf/releases 下载对应的系统版本
下载之后解压,并将目录添加至环境变量中
检测是否成功,cmd输入
protoc --version // 输出 libprotoc 3.21.1
protoc-gen-go
go install github.com/golang/protobuf/protoc-gen-go@latest
检测是否成功,cmd输入
protoc-gen-go // 没有任何输出则成功
名为:protos\route_guide.proto
syntax = "proto3";// 指定版本option go_package="./routeGuide;route_guide"; // .proto 所在路径,分号后代表生成go文件后的包名称(可不写)service RouteGuide{// 获取用户信息rpc GetUserInfo(GetUserInfoParam) returns (UserInfo) {}}// message 一种消息类型message GetUserInfoParam{int32 uid=1;// string name=2;// int32 age=3;UserInfo UserInfo=4;// 支持嵌套PhoneType type=5;repeated string hobby=6;// 可重复,生成为切片格式}message UserInfo{string name=1;int32 age=2;}// 枚举类型enum PhoneType{MOBILE=0;// 默认HOME=1;WORK=2;}
// 参数1:在某路径生成文件// 参数2:需要编译的文件protoc --go_out=./ *.proto
正在学习Go语言的PHP程序员。