四.Protobuf3 缺省值


解析消息時,如果編碼消息不包含特定的單數元素,則解析對象中的相應字段將設置為該字段的默認值。這些默認值是特定於類型的:

  •   對於字符串,默認值為空字符串。

  •   對於字節,默認值為空字節。

  •   對於布爾,默認值為false。

  •   對於數字類型,默認值為零。

  •   對於枚舉,默認值是第一個定義的枚舉值,必須為0。

  •   對於消息字段,該字段未設置。它的確切值取決於語言。有關詳細信息,請參見生成的代碼指南。

  重復字段的默認值為空(通常是相應語言的空列表)。

  請注意,對於標量消息字段,一旦消息被解析,就無法判斷字段是顯式設置為默認值(例如,布爾值是否設置為false )還是根本沒有設置:定義消息類型時應該記住這一點。例如,如果不希望默認情況下也發生某些行為,不要有一個布爾值在設置為false時打開該行為。另請注意,如果標量消息字段設置為默認值,則不會在線路上序列化該值。

注: 如果類型為string, 當為null時不做set操作操作解析時默認"",如果做了set操作,則無法進行setXXX(null)

  有關默認如何在生成的代碼中工作的詳細信息,請參閱所選語言的生成代碼指南。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM