17

我已经看到了使用 Protobuf v3 声明 gRPC 服务的两种不同方式。一些代码的rpc 行以分号结尾(例如当前的 proto3 文档):

service SearchService {
  rpc Search (SearchRequest) returns (SearchResponse);
}

其他代码的 rpc 行以 {}:

service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

这两个都使用 protoc v3.0.0-alpha-2 编译器编译并生成相同的(go)代码。

这两种语法有什么区别?

4

1 回答 1

17

真的没什么; 它们是等价的。

{}有选项时使用该语法。如果您不指定任何选项,则任何一种语法都有效(就像在 C 中一样!)。

于 2015-05-07T17:38:09.257 回答