我想知道是否可以使用带有Google协议缓冲区的地图。
我的.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中,我想创建一个将是地图的类型:
关于如何实现此目标的任何建议?
最佳答案
做这个:
message MapEntry
{
required int32 mapKey = 1;
required MsgA mapValue = 2;
}
message MsgB
{
repeated MapEntry = 1;
}
您将必须编写自己的代码以将地图与MsgB之间来回转换,但这基本上并不重要。