介绍
proto buf 是一种用于序列化和反序列化的工具。它比较灵活、高效,它可以跨语言和跨平台。相较于XML,它更快、生成的文件更小、格式更清晰。
各个部分理解
Message
这个关键字就像c++的class关键字
列变量
列变量格式
message SongServerRequest {
required string song_name = 1; // 关键字 类型 name = nubmer;
}
列变量第一个关键字表这个列变量是干什么的或者一些特征,第二个表示是什么类型列表量,左边的数字表示位于解析后的第几个函数
protocol buf命名风格
Message 命名风格使用驼峰法
列变量名使用下划线法
枚举变量,枚举类型使用驼峰法,成员变量名使用大写下划线方式
RPC 类型全部使用驼峰法
message SongServerRequest {
required string song_name = 1;
}
const string& song_name() { ... }
void set_song_name(const string& x) { ... }
enum Foo {
FIRST_VALUE = 0;
SECOND_VALUE = 1;
}
RPC :
service FooService {
rpc GetSomething(FooRequest) returns (FooResponse);
}