Недавно я использовал gRPC
с proto3
, и я заметил, что required
и optional
были удалены в новом синтаксисе.
Кто-нибудь объяснит, почему требуемые/необязательные удаляются в proto3? Подобные ограничения просто кажутся необходимыми, чтобы сделать определение надежным.
синтаксис proto2:
message SearchRequest {
required string query = 1;
optional int32 page_number = 2;
optional int32 result_per_page = 3;
}
синтаксис proto3:
syntax = "proto3";
message SearchRequest {
string query = 1;
int32 page_number = 2;
int32 result_per_page = 3;
}