gRPC/Protobuf 3 syntax: what is the difference between rpc lines that end with semicolon vs '{}'?

你离开我真会死。 提交于 2019-12-04 02:50:32

问题


I've seen two different ways of declaring an gRPC service using Protobuf v3. Some code has the rpc line end with a semicolon (such as the current proto3 documentation):

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

Other code has the rpc line end with {}:

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

Both of these compile with the protoc v3.0.0-alpha-2 compiler and produce the same (go) code.

What is the difference between the two syntaxes?


回答1:


Nothing, really; they are equivalent.

The {} syntax is used when there are options. If you don't specify any options, either syntax works (just like in C!).



来源:https://stackoverflow.com/questions/30106667/grpc-protobuf-3-syntax-what-is-the-difference-between-rpc-lines-that-end-with-s

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!