我生成的原型文件中有一个结构,如下所示(简化):
type Record struct {
Field1 int64 `protobuf:"varint,1,opt,name=field1,proto3" json:"field1,omitempty"`
Field2 []byte `protobuf:"bytes,2,opt,name=field2,proto3" json:"field2,omitempty"`
}
我试图在我的 Go 文件中调用它
func foo(c messagepb.MessageServiceClient){
fmt.Println("Starting to send message...")
msgs := []*messagepb.MessageRequest{
recordpb.Record{ //error msg here
Field1: 1,
Field2: []byte{byte('a')},
}
}
...
}
但我在 recordpb.Record 行收到此错误:
cannot use recordpb.Record literal (type recordpb.Record) as type *messagepb.MessageRequest in array or slice literal
如果有帮助,这是我的messagepb:
message.proto
message MessageRequest { recordpb.Record records = 1; }
message.pb.go
type MessageRequest struct {
Record *recordpb.Record `protobuf:"bytes,1,opt,name=record,proto3" json:"record,omitempty"`
}
我找不到任何有用的信息来解释为什么会发生这种情况......有什么想法吗?
阿波罗的战车
相关分类