导读 小伙伴们,今天我们来聊聊Protobuf中的`repeated`类型!✨ `Repeated` 类似于C++中的vector或Java中的ArrayList,用来存储重复的数据结构...
小伙伴们,今天我们来聊聊Protobuf中的`repeated`类型!✨ `Repeated` 类似于C++中的vector或Java中的ArrayList,用来存储重复的数据结构。比如,当你需要在一个消息中存储多个整数或者字符串时,就可以用到它。
首先,定义一个包含 `repeated` 字段的消息非常简单:
```proto
message Person {
repeated string names = 1;
}
```
这里我们创建了一个 `Person` 消息,其中 `names` 是一个字符串列表。在实际开发中,你可以轻松地将这个列表转换为编程语言中的Vector(如C++中的`std::vector`)。
如何转换呢?以C++为例:
1️⃣ 定义Protobuf对象并填充数据:
```cpp
Person person;
person.add_names("Alice");
person.add_names("Bob");
```
2️⃣ 转换为Vector:
```cpp
std::vector
for(int i=0; i name_vector[i] = person.names(i); } ``` 通过这种方式,我们可以高效地在Protobuf和Vector之间进行数据交互!🚀 记得在使用时检查边界条件哦,避免越界问题。💡 希望这篇小科普对你有所帮助!🌟