proto3 语法如何定义值为 slice 类型的 map?
1. 问题描述:proto3 语法如何定义值为 slice 类型的 map?
proto3 语法如何定义值为 slice 类型的 map?
定义 map 的语法如下:
syntax = "proto3";
...
import "google/protobuf/duration.proto";
//1. map 值为 string 类型
map<string, string> shop = 1;
//2. map值为结构体,如下
message Goods {
message packageItem {
int64 item = 1;
int64 num = 2;
}
repeated packageItem package = 1;
float money = 2;
}
map<string, Goods> shop = 1;
// map 值为切片时,不知道如何定义,切片的定义使用 repeated 关键字。 下面两种试了下都不对。未找到类似的解决方案。
repeated map<string, Goods> shop = 1;
map<string,repeated Goods> shop = 1;
我也怀着好奇心去看了下文档,好像目前不支持这个结构,你可以多嵌一层message,在message里放slice,类似这样