问题描述
message StartAssignmentRequest {
string additional_comment = 3;
repeated RideSlip slips = 4;
}
message RideSlip{
string slip_name = 2;
string slip_ext = 3;
string slip_link = 4;
}
现在我想创建它的请求,我正在做这样的事情:
req := &api.StartAssignmentRequest{
AdditionalComment:"AdditionalComment",Slips: &api.RideSlip[],}
但不知道如何正确发送 RideSlip 数据。
解决方法
Protobuffer(2 和 3)repeated
字段在 Go 中是 compiled to slices。
只需append
:
req := &api.StartAssignmentRequest{
AdditionalComment: "AdditionalComment",}
req.Slips = append(req.Slips,&api.RideSlip{
SlipName: "foo",SlipExt: "bar",SlipLink: "https://stackoverflow.com",})
或者为其分配一个 literal 值:
req := &api.StartAssignmentRequest{
AdditionalComment: "AdditionalComment",Slips: []*api.RideSlip{
{
SlipName: "foo",},}