将protobuf枚举消息发送到grpc服务器

问题描述 投票:0回答:1

给出一个

message Foo {
enum State {
    STATE1 = 0;
    STATE2 = 1;
    STATE3 = 2;
}
}

和grpc服务定义

rpc Method(stream Foo) returns (Empty) {}

go grpc客户端代码将它发送到grpc服务器的样子是什么样的?澄清一下,假设我有一个streamClient.Send()。我会把什么传递给Send()?我如何构建枚举?

go protocol-buffers grpc
1个回答
0
投票

您定义State但在Foo中没有State字段。

试试这个

syntax="proto3";
option go_package ="enumpb";
message Foo {
  enum State {
    STATE1 = 0;
    STATE2 = 1;
    STATE3 = 2;
  }
  State myState = 1;
}

这就行了

enumExample := enumpb.Foo{
    MyState: enumpb.Foo_STATE1,
}
fmt.Println("enumExample", enumExample)
© www.soinside.com 2019 - 2024. All rights reserved.