protobuf2 的语法
时间: 2024-01-22 14:33:33 浏览: 112
Protobuf2 使用类似于 C/C++ 的语法定义消息类型和服务。
以下是 Protobuf2 的语法示例:
```protobuf
syntax = "proto2";
package mypackage;
message Person {
required string name = 1;
optional int32 age = 2;
repeated string hobbies = 3;
}
enum Gender {
UNKNOWN = 0;
MALE = 1;
FEMALE = 2;
}
message AddressBook {
repeated Person contacts = 1;
}
```
在上面的示例中,我们定义了两个消息类型:Person 和 AddressBook。Person 包含了一个必需的字段 name,一个可选的字段 age,以及一个重复的字段 hobbies。Gender 是一个枚举类型,表示性别。AddressBook 包含了一个重复的字段 contacts,其类型是 Person。
可以使用 `required`、`optional` 和 `repeated` 关键字来定义字段的特性。`required` 表示该字段必须存在且非空,`optional` 表示该字段是可选的,`repeated` 表示该字段可以包含多个值。
此外,还可以使用 `package` 关键字指定包名,使用 `enum` 关键字定义枚举类型。
注意:这只是 Protobuf2 的一小部分语法示例,更多详细的语法规则和特性可以参考 Protobuf2 的官方文档。
阅读全文