0

我看到一段代码如下:

rpc SayFallback (FooRequest) returns (FooResponse) { option (com.example.proto.options.bar) = { value : "{ message:\"baz\" }"; }; }

另一个像下面这样:

rpc SayFallback (FooRequest) returns (FooResponse) { option (com.example.proto.options.bar) = { value : "{ message:\"baz\" }" }; }

第一个有一个;在线,value而第二个没有。是否符合标准?

4

1 回答 1

1

是的,它们被认为是可选的。查看protobuf 文件源代码片段:

  while (!TryConsumeEndOfDeclaration("}", NULL)) {
    if (AtEnd()) {
      AddError("Reached end of input in method options (missing '}').");
      return false;
    }

    if (TryConsumeEndOfDeclaration(";", NULL)) {
      // empty statement; ignore
    } else {
      ...
  }
于 2017-02-09T15:33:42.887 回答