我想知道是否可以使用带谷歌协议缓冲区的地图。 我目前在.proto文件
中有这样的东西message MsgA
{
required string symbol = 1 ;
optional int32 freq = 2 [default = 0];
}
message MsgB
{
//What should I do to make a map<int,MsgA>
}
我的问题是在MsgB中我想创建一个类型为map :: 关于如何实现这一目标的任何建议?
答案 0 :(得分:2)
这样做:
message MapEntry
{
required int32 mapKey = 1;
required MsgA mapValue = 2;
}
message MsgB
{
repeated MapEntry = 1;
}
您必须编写自己的代码才能将地图转换为MsgB,但这应该基本上是微不足道的。