概要
Protocol Buffersで、Goにコンパイル後にSlice・Mapを生成させるために、protocol definitionにどのように定義すれば良いかの解説となります。
slice
repeated
を使う
.proto
message Result {
repeated string message = 1;
}
これをコンパイルすると、
.go
type Result struct {
Messages []string
}
こうなります。
map
map<string, Bar>
を使う
.proto
message Company {
map<int32, string> members = 1;
}
これをコンパイルすると、
.go
type Company struct {
Members map[int32]string
}
こうなります。