2016-12-14 48 views

回答

6

這是不允許的,因爲它不能很好地與proto3開放枚舉語義玩。例如,在Java中,如果您有Map,則該鍵只能是其中一個定義的值。如果碰巧從遠程客戶端/服務器接收到的枚舉鍵值不在定義的值集中,則不能將其放入映射中。這個限制迫使我們使用未知的枚舉鍵(這違反了proto3打開的枚舉語義)放棄映射條件,或者不允許enum作爲映射鍵一起使用。

僅供參考:https://groups.google.com/forum/#!topic/protobuf/ikeldBe60eI