本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。
让我们从一个非常简单的例子开始。假设您想定义“搜索请求”的消息格式。每个请求包括一个查询字符串,你对查询结果感兴趣的页数,以及每个页面上有多少个查询结果。
消息类型可以通过以下方式定义.proto文件:
syntax="proto3";///声明使用proto3语法 messageSearchRequest{ stringquery=1;///每个字段都指定数据类型 int32page_number=2;这里的数字2是标识符,最小的标识号可以从1开始,到2^29-1,or536,870,911。不能使用[190000-19999] int32result_per_page=3;///这是注释,使用/// }
(1)第一行指定你在使用 proto3 语法:如果没有指定,将使用编译器 proto2。这种指定语法必须是文件非空非注释的第一行。
(2)Searchrequest新闻格式有三个字段,新闻中携带的数据对应于每个字段。每个字段都有一个名字和一种类型。
(3)向.在proto文件中添加注释可以使用C/C++/java风格的双斜杠(//) 语法格式。
(4)在消息体中,每个字段都有一个唯一的数字标识符。这些标识符用于识别消息二进制格式中的每个字段,一旦开始使用就不能更改。
以上是python Protobuf定义消息类型,希望对大家有所帮助。更多Python学习指导:python基础教程