proto3 中的 map 类型
.proto
syntax = "proto3";
option optimize_for = SPEED; message TestStruct
{
map<int32,string> data = 1;
}
.cpp
#include <iostream>
#include <cstdio>
#include <list>
#include <string>
#include <cstdint>
#include <ctime>
#include "msg.pb.h"
#include "google/protobuf/text_format.h"
using namespace google::protobuf; int32_t main()
{
TestStruct tSt1;
tSt1.mutable_data()->insert({ , "str1" });
tSt1.mutable_data()->insert({ , "str11" });
tSt1.mutable_data()->insert(MapPair<int32_t, std::string>(, "str2"));
std::string data;
tSt1.SerializeToString(&data); TestStruct tSt2;
tSt2.ParseFromString(data);
for(auto it = tSt2.data().cbegin(); it != tSt2.data().cend(); ++it)
{
std::cout << it->first << " " << it->second << std::endl;
} std::string strTest;
TextFormat::PrintToString(tSt2, &strTest);
std::cout << strTest << std::endl; std::cin.get();
return ;
}
运行结果:

注意:当再次插入重复的key的时候,插入操作将会失败.
proto3 中的 map 类型的更多相关文章
- zk框架中利用map类型传值来创建window,并且传值
@Command @NotifyChange("accList") public void clear(@BindingParam("id") String a ...
- Flex ActionScript版本的Map类型
ActionScript中没有Map类型,因为Object就相当于Map了.Object的属性相当于key,值相当于value. 也就是说,没有必要有Map类型.但是,这样做,也会带来一些问题,造成不 ...
- Scala中的Map
映射 映射是对偶的集合. 声明映射 映射是对偶的集合. a.声明映射 b.映射中的键值对称作对偶,用( , )表示 c.当映射中不存在key时,取值会报错,解决方案是使用 contains方法,或者g ...
- ES6中的Map集合(与java里类似)
Set类型可以用来处理列表中的值,但是不适用于处理键值对这样的信息结构.ES6也添加了Map集合来解决类似的问题 一.Map集合 JS的对象(Object),本质上是键值对的集合(Hash结构),但是 ...
- struts2学习笔记(2)---Action中訪问ServletAPI获取Map类型的Servlet元素
源码: strust.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts ...
- 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合
package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...
- STL模板中的map的使用与例题
最近的计分赛,记得自己的都只是过了两题.遇到了两次map,自己在寒假看了一点的map,只知道在字符串匹配的时候可以用的到.但是自己对map的使用还是不够熟练使用,这回在第一次和第二次的计分赛中都遇到可 ...
- Map java中的map 如何修改Map中的对应元素
Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map ...
- java8中的map和reduce
java8中的map和reduce 标签: java8函数式mapreduce 2014-06-19 19:14 10330人阅读 评论(4) 收藏 举报 分类: java(47) FP(2) ...
随机推荐
- iptables 用法及常用模块总结
iptables传输数据包的过程: 1. 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去. 2. 如果数据包就是进入本机的,它就会沿着图向下移动, ...
- GenericAPIView类与几个扩展类的综合使用
五个扩展类 扩展类 作用 封装的方法 状态码(成功,失败) ListModelMixin 查询多条数据 list 200 CreateModelMixin 新增一条数据 create 201,400 ...
- wxBot微信机器人框架(转)
原文:http://blog.csdn.net/tobacco5648/article/details/50722321 wxBot 是Python包装Web微信实现的微信机器人框架.可以很容易地实现 ...
- C# 连接和操作SQL SERVER数据库
用C#sqlserver实现增删改查http://www.worlduc.com/blog2012.aspx?bid=730767 using System.Data;using System.Dat ...
- 超越IEtab、网银支付助手,无需再次登陆的Firefox的IE插件
强烈推荐! fire-ie最大亮点就是:可以传递firefox下的cookie,从而避免了再次登陆或打开支付页面的繁琐. 在线安装:https://addons.mozilla.org/zh-CN/f ...
- dom4j解析xml配置文件
通过dom4j来对xml配置文件的增删查改: 利用@Test注解来对单个方法进行测试: import java.io.FileOutputStream; import java.io.OutputSt ...
- python 去掉所有空白字符【解决】
今天用python从access数据库读取内容,组合成sql语句时,空白字符把我给搞疯了.... 所幸找到了一个好办法: ''.join(s.split())
- 对DDD中领域服务的理解
CZ 能不能清晰具体区分service和实体的区别 网上有人用DCI来解决 不知道对不对 STST 我复习下DDD中的服务的概念了参与讨论啊CZ 这个我也看过 但是太过于笼统 STST STST 复习 ...
- Java Retry implement
There are many cases in which you may wish to retry an operation a certain number of times. Examples ...
- 【分块打表】Gym - 100923K - Por Costel and the Firecracker
semipal.in / semipal.out Por Costel the pig, our programmer in-training, has recently returned from ...