17

Protobuf v3 を使用して gRPC サービスを宣言する 2 つの異なる方法を見てきました。一部のコードでは、rpc 行がセミコロンで終了しています (現在の proto3 ドキュメントなど)。

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

他のコードの rpc 行の末尾は {}次のとおりです。

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

これらは両方とも、protoc v3.0.0-alpha-2 コンパイラでコンパイルされ、同じ (go) コードを生成します。

2 つの構文の違いは何ですか?

4

1 に答える 1

17

本当に何もありません。それらは同等です。

この{}構文は、オプションがある場合に使用されます。オプションを何も指定しない場合、どちらの構文も機能します (C と同じように!)。

于 2015-05-07T17:38:09.257 に答える