1 回答
TA贡献1797条经验 获得超4个赞
您初始化的Data方式意味着您期待以下内容:
type Struct struct {
A string
C string
}
但是,structpb.Struct定义如下:
type Struct struct {
// Unordered map of dynamically typed values.
Fields map[string]*Value `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// contains filtered or unexported fields
}
显然那里有点不匹配。您需要初始化Fields结构的映射并使用正确的方式设置Value字段。与您显示的代码等效的是:
Data: &structpb.Struct{
Fields: map[string]*structpb.Value{
"A": &structpb.Value{
Kind: &structpb.Value_StringValue{
StringValue: "B",
},
},
"C": &structpb.Value{
Kind: &structpb.Value_StringValue{
StringValue: "D",
},
},
},
}
- 1 回答
- 0 关注
- 423 浏览
添加回答
举报