gRPC / Protobuf 3-Syntax: Was ist der Unterschied zwischen rpc-Zeilen, die mit Semikolon enden, und '{}'?

Ich habe zwei verschiedene Möglichkeiten gesehen, einen gRPC-Dienst mit Protobuf v3 zu deklarieren. Ein Code hat dasrpc Zeilenende mit einem Semikolon (wie die aktuelle Proto3-Dokumentation):

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

Anderecode hat das Ende der RPC-Zeile mit {}:

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

Beide davon werden mit dem Compiler protoc v3.0.0-alpha-2 kompiliert und produzieren denselben (Go-) Code.

Was ist der Unterschied zwischen den beiden Syntaxen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage