当前位置 : 主页 > 大数据 > 区块链 >

如何将Go地图序列化为protobuff

来源:互联网 收集:自由互联 发布时间:2021-06-22
我正在按照 this教程进行序列化/封送处理将结构转换为协议缓冲区.我的结构有一个地图,我找不到任何关于如何处理编组地图的文档. 在下面我想序列化Fields map [string] string: 结构: t
我正在按照 this教程进行序列化/封送处理将结构转换为协议缓冲区.我的结构有一个地图,我找不到任何关于如何处理编组地图的文档.

在下面我想序列化Fields map [string] string:

结构:

type Note struct {
    ID     NoteID
    Fields map[string]string
}

protobuf架构:

package internal;

message Note {
    optional int64 ID = 1;
    optional map<string, string> Fields = 2;
}

去元帅:

func MarshalNote(n *remember.Note) ([]byte, error) {
    return proto.Marshal(&Note{
        ID: proto.Int64(int64(n.ID))
        Fields: proto.???
    })
}

我不知道如何处理最后一行以及我搜索关于将字段映射到protobuf方案的任何内容,而不是将映射映射到protobuf方案.

protobuf是一个定义明确的searlization格式,并且使用它的好处之一,它只使用protobuf模式e.i为您(使用您喜欢的语言)生成所有数据结构.你不必做手工元帅或解散
网友评论