介绍如何使用 protocol buffer 语言来构造 protocol buffer 数据,包括 .proto 文件语法以及如何从 .proto 文件生成数据访问类
标题定义一个 Message 类型
message SearchRequest {
required string query = 1; // 查询字符串 相当于java中的String
optional int32 page_number = 2; // 第几页 相当于java中的Int
optional int32 result_per_page = 3; // 每页的结果数 相当于java中的Int
}
指定字段规则
你指定的 message 字段可以是下面几种情况之一:
1. required: 格式良好的 message 必须包含该字段一次。
2. optional: 格式良好的 message 可以包含该字段零次或一次(不超过一次)。
3. repeated: 该字段可以在格式良好的消息中重复任意多次(包括零)。其中重复值的顺序会被保留。
由于一些历史原因,标量数字类型的 repeated 字段不能尽可能高效地编码。新代码应使用特殊选项 [packed = true] 来获得更高效的编码
标量 message 字段可以具有以下几种类型之一 - 该表显示 .proto 文件中指定的类型,以及自动生成的类中的相应类型:
protobuf | java |
---|---|
int32 | Int |
int64 | long |
String | String |
bool | boolean |
float | float |
double | double |
bool | boolean |