protobuf基础语法
protobuf基础语法
syntax ="proto3"; // 指明我们使用的语法 有proto2 proto3// 定义包的包名package pb;option go_package = "./;pb";// 定义消息体message Student{int32 age =1; // 年龄 编号不能重复 -- 编号19000 - 19999不能使用string name =2; // 姓名Hobby h =3; // 爱好repeated int32 scores =4; // 数组Week w =5; //枚举// 联合体oneof data{string teacher =6; string class =7;}}// 消息体嵌套message Hobby{string name =1; // 爱好名称string old =2; // 爱好有多少年了}// 枚举enum Week{MonDay =0; // 枚举编号必须从0开始Tuesday =1;}
注意事项:
message 编号可以不从1开始。但是不能重复。-- 编号19000-19999不能使用。可以使用message 嵌套。定义数组、切片使用 repeated 关键字。可以使用枚举 enum。可以使用联合体。oneof关键字。成员编号不能重复且必须从0开始。
编译命令
protoc --go_out= ./ *.proto--->在当前文件下生成xxx.pb.go 文件
注意:如果要编译器生成grpc服务,需要使用下面的命令
protoc --go_out=plugins=grpc:./ *.proto
页:
[1]