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

标签 go protocol-buffers grpc

给定一个

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

和一个grpc服务定义

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

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

最佳答案

您定义了 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)

关于go - 将 protobuf 枚举消息发送到 grpc 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51588290/

相关文章:

go - 无法通过串口解析GPS信息

c++ - 读取 Protocol Buffer 中枚举扩展的值

c++ - 如何通过REST SDK接收二进制数据(protobuf)?

python - 在 protobuf 中需要 `oneof`?

go - 编译grpc时未定义: grpc. ClientConnInterface

ios - 获取 iOS 中包含的可信根证书的 PEM 文件(用于验证 gRPC)

go - 使用 nats-streaming 发送大于 1MB 的消息?

testing - 填充os.Stdin以读取其中的函数

c# - 如何在 proto 文件中添加两个同名的方法

database - 从数据库获取数据并填充数组的Golang抽象函数