【问题标题】:Creating grpc client request with repeated fields创建具有重复字段的 grpc 客户端请求
【发布时间】:2021-04-10 19:48:37
【问题描述】:

我有这样的原型文件:

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 数据。

【问题讨论】:

    标签: go grpc-go


    【解决方案1】:

    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",
                SlipExt: "bar",
                SlipLink: "https://stackoverflow.com",
            },
        },
    }
    

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 2021-12-08
      • 2021-07-20
      • 2019-06-03
      • 1970-01-01
      • 2017-08-05
      • 2021-09-18
      • 2021-10-19
      • 2021-05-22
      相关资源
      最近更新 更多