Каково значение enum по умолчанию в proto2 с учетом зарезервированных тегов полей? - PullRequest
1 голос
/ 11 февраля 2020

Допустим, у вас есть следующий enum в proto2.

  enum my_enum {
    reserved 0;
    VALUE = 1; 
    ANOTHER = 2;
  }

Мой вопрос ... каково значение enum по умолчанию в этом случае, где не определено по умолчанию? В документах написано:

Для перечислений значением по умолчанию является первое значение, указанное в определении типа перечисления.

... как и "первое значение" значит 0 (зарезервировано) или 1?

1 Ответ

0 голосов
/ 11 февраля 2020

Я только что проверил это в своем коде с

message my_enum {
    enum my_service {
        reserved 0;
        VALUE = 1;
    }
    optional my_service selected_service = 1;
}

, и по умолчанию VALUE (т.е. 1) не 0.

...