Я хочу спросить, знает ли кто-нибудь формат, который мне нужно использовать в моем файле .proto для сохранения карты [uint64] * Struct.
Я пробовал это:
enum ProgressType {
ProgressStateProbe =0;
ProgressStateReplicate =1;
ProgressStateSnapshot =2;
}
message Progress{
required uint64 match = 1 [(gogoproto.nullable) = false];
required uint64 next = 2 [(gogoproto.nullable) = false];
required ProgressType type = 3 [(gogoproto.nullable) = false];
required bool paused = 4 [(gogoproto.nullable) = false];
required uint64 pendingsnapshot = 5 [(gogoproto.nullable) = false];
}
message Message {
repeated Progress members = 15 [(gogoproto.nullable) = false];
repeated Progress learners = 16 [(gogoproto.nullable) = false];
}
Теперь в моем коде Go:
m.Members = members //members are of type Map[uint64]*Progress
m.Learners = learners //learners are of type Map[uint64]*Progress
Я получаю следующую ошибку: не могу использовать члены (type map [uint64] * Progress) в качестве типа [] raftpb.Progress в назначении