问题
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