Vector 是否可以在protobuf消息中包含向量字段以生成Rust结构?

Vector 是否可以在protobuf消息中包含向量字段以生成Rust结构?,vector,rust,protocol-buffers,proto3,Vector,Rust,Protocol Buffers,Proto3,我有一个protobuf文件,用于在项目中生成类型。其中一种类型如下所示: syntax=“proto3”; // ... 消息myStruct{ int32 obj_id=1; 字符串obj_代码=2; 字符串obj_name=3; //…更多的领域 } // ... 更多消息、枚举等。。。。 然后我可以启动一个小脚本,通过protoc gen Go生成一些Go代码,然后通过使用protoc gen Rust的另一个脚本将其翻译成Rust 结果是生成一个锈迹文件,如下所示: //此文件由ru

我有一个protobuf文件,用于在项目中生成类型。其中一种类型如下所示:

syntax=“proto3”;
// ...
消息myStruct{
int32 obj_id=1;
字符串obj_代码=2;
字符串obj_name=3;
//…更多的领域
}
// ... 更多消息、枚举等。。。。
然后我可以启动一个小脚本,通过
protoc gen Go
生成一些Go代码,然后通过使用
protoc gen Rust
的另一个脚本将其翻译成Rust

结果是生成一个锈迹文件,如下所示:

//此文件由rust protobuf 2.0.0生成。不编辑
//@生成
// ...
发布结构myStruct{
//消息字段
发布对象id:i32,
发布对象代码:::标准::字符串::字符串,
发布对象名称:::标准::字符串::字符串,
//…更多的领域
}
impl myStruct{
//…许多构造函数、getter、setter等
}
我不想要一个更好的方法来生成所有的锈菌类型,这个项目是巨大的,在prod中,我的工作不是重写/重新组织它,而是添加一些功能,为此我需要在几个结构中添加一些漂亮的标志向量

我想在
myStruct
struct中添加一些
Vec
字段,如下所示:

pub结构myClass{
//…某些字段,如obj_id等。。。
//我要添加的字段
布卢维克:维克,
bool_vec_vec:vec,
// ...
}
是否可以使用proto-buf东西来实现这一点?如果是,我怎么做?

您可以使用:

repeated
:此字段可以在格式良好的消息中重复任意次数(包括零次)。将保留重复值的顺序

比如:

消息bool\u vec{
重复布尔元素=1;
}
消息bool_vec_vec{
重复布尔_向量元素=1;
}
消息myStruct{
...
bool_vec v=100;
bool_vec_vec vv=101;
...
}

从原BuffC++库(它代表重复字段,如重复<代码> Boo< <代码> >),它显示了我们期望的向量:索引和迭代器访问。您生成的代码还可以通过索引和添加/删除最后的方法进行访问。

您可以使用:

repeated
:此字段可以在格式良好的消息中重复任意次数(包括零次)。将保留重复值的顺序

比如:

消息bool\u vec{
重复布尔元素=1;
}
消息bool_vec_vec{
重复布尔_向量元素=1;
}
消息myStruct{
...
bool_vec v=100;
bool_vec_vec vv=101;
...
}

从原BuffC++库(它代表重复字段,如重复<代码> Boo< <代码> >),它显示了我们期望的向量:索引和迭代器访问。生成的代码还可以通过索引和添加/删除最后的方法进行访问