Массив double лучше всего хранить через
repeated double foo = 5 [packed=true];
repeated
, чтобы он действовал как список, допуская несколько элементов;packed
избегает заголовка для элемента.
Нет прямой поддержки прямоугольных (или более высоких) массивов в protobuf.Самое близкое - хранить что-то вроде:
repeated innerType foo = 5; // note, can't be "packed"
message innerType {
repeated double foo = 1 [packed=true];
}
, это в целом похоже на зубчатый массив, но с элементом между каждым уровнем.