Protocol-Buffers-基础

protobuf 官方文档

介绍

Protocol Buffers 是一种跨语言 (支持多种语言接口), 跨平台的用于序列化数据的机制 (可以看作一种语言, 也需要编译处理). 它和 JSON 类似, 但是更快更轻量, 常用于存储数据或服务器间通信.

Protocol Buffers 的工作流程

语法

定义 Message 类型

1
2
3
4
5
6
7
edition = "2023";

message SearchRequest {
string query = 1;
int32 page_number = 2;
int32 results_per_page = 3;
}
  • edition (对于 proto2/proto3 而言是 syntax) 一行用于指定使用的语言版本, 其必须是文件第一个非空非注释的行 (不一定是在顶部)
  • message SearchRequest 定义了三个字段 (键值对), 每个字段都有类型, 这里都默认是 scalar 类型 (不是数组)

每一个字段都需要有一个唯一的 Field Number, 范围在 1~536870911 之间, 但 19000-19999 是 protocol buffers 内部保留的

optional 和 repeated

字段类型

数据类型


Protocol-Buffers-基础
http://example.com/2024/11/19/Protocol-Buffers-基础/
作者
Jie
发布于
2024年11月19日
许可协议