KaaPexei 发表于 2021-10-21 09:11

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]
查看完整版本: protobuf基础语法