message Res {
message Result{
repeated string bayes_network = 1;
repeated Result result = 1;
在客户端进行解析输出二维列表,
a = []
for one in response.result:
b = []
for i in one.bayes_network:
b.append(i)
a.append(b)
proto协议定义数据类型使用proto3语法1. 定义简单列表message Response{ repeated string a = 1; repeated int32 b =2;}2. 定义字典类型(简单)message Result{ map<string, int32> values = 1;}3. 定义二维列表(数组)输入message Response{ message Edge{ repeated int32
proto3 使用
定义一个消息类型
先来看一个非常简单的例子。假设你想定义一个“搜索请求”的消息格式,每一个请求含有一个查询字符串、你感兴趣的查询结果所在的页数,以及每一页多少条查询结果。可以采用如下的方式来定义消息类型的.proto文件了:
syntax = "proto3";
message SearchRequest {
string query = 1;
int32 page_number = 2;
int32 result_per_page = 3;
文件的第一行指定了
This guide describes how to use the protocol buffer language to structure your protocol buffer
data, including .proto #le syntax and how to generate data access classes from your .proto #les.
It covers the proto3 version of the protocol buffers language: for information on the older proto2
syntax, see the Proto2 Language Guide (https://developers.google.com/protocol-buffers/docs/proto).
return max;
//编译中max可以换成别的定义,但要注意你弟你定义的变量一定要初始化,通常,我们遇到加号时,定义为0,遇到乘号时,定义为1,具体原因就不做解释,学过数学的应该都能理解。
int32 result_per_page = 3;
syntax = “proto3”:表示这是使用protobuf3的语法,不加这句默认使用protobuf2的语言.两者还是有不少差异的.
其中,`MyMessage` 中的 `my_array` 字段是一个 `MyArrayType` 类型的数组,每个 `MyArrayType` 对象里面又包含了一个 `int32` 类型的数组 `my_array_element`。
在 Lua 中,可以使用以下的代码来创建一个二维数组:
```lua
local my_array = {}
my_array[1] = {1, 2, 3}
my_array[2] = {4, 5, 6}
这个二维数组中包含了两个一维数组,分别是 `{1, 2, 3}` 和 `{4, 5, 6}`。可以使用以下的代码来遍历这个二维数组:
```lua
for i = 1, #my_array do
for j = 1, #my_array[i] do
print(my_array[i][j])
这个代码会依次输出数组中的每个元素。