我已经看到了使用Protobuf v3声明gRPC服务的两种不同方式.有些代码有 rpc line end with a semicolon(例如当前的proto3文档): service SearchService { rpc Search (SearchRequest) returns (SearchResponse);} 其他code
service SearchService { rpc Search (SearchRequest) returns (SearchResponse); }
其他code has the rpc line end with {}:
service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) {} }
这两个都使用protoc v3.0.0-alpha-2编译器编译并生成相同的(go)代码.
这两种语法有什么区别?
真的没什么;他们是等同的.有选项时使用{}语法.如果您没有指定任何选项,则任何一种语法都可以工作(就像在C!中一样).