青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

Protobuf 的 proto3 與 proto2 的區別

轉載自:https://solicomo.com/network-dev/protobuf-proto3-vs-proto2.html

這是一篇學習筆記。在粗略的看了 Protobuf 的文檔中關于 proto2 和 proto3 的說明后,記錄下了幾點 proto3 區別于 proto2 的地方。

總的來說,proto3 比 proto2 支持更多語言但 更簡潔。去掉了一些復雜的語法和特性,更強調約定而弱化語法。如果是首次使用 Protobuf ,建議使用 proto3 。

  1. 在第一行非空白非注釋行,必須寫:

    syntax = "proto3";

  2. 字段規則移除了 “required”,并把 “optional” 改名為 “singular”;

    在 proto2 中 required 也是不推薦使用的。proto3 直接從語法層面上移除了 required 規則。其實可以做的更徹底,把所有字段規則描述都撤銷,原來的 repeated 改為在類型或字段名后加一對中括號。這樣是不是更簡潔?

  3. 語言增加 Go、Ruby、JavaNano 支持;

  4. 移除了 default 選項;

    在 proto2 中,可以使用 default 選項為某一字段指定默認值。在 proto3 中,字段的默認值只能根據字段類型由系統決定。也就是說,默認值全部是約定好的,而不再提供指定默認值的語法。

    在字段被設置為默認值的時候,該字段不會被序列化。這樣可以節省空間,提高效率。

    但這樣就無法區分某字段是根本沒賦值,還是賦值了默認值。這在 proto3 中問題不大,但在 proto2 中會有問題。

    比如,在更新協議的時候使用 default 選項為某個字段指定了一個與原來不同的默認值,舊代碼獲取到的該字段的值會與新代碼不一樣。

    另一個重約定而弱語法的例子是 Go 語言里的公共/私有對象。Go 語言約定,首字母大寫的為公共對象,否則為私有對象。所以在 Go 語言中是沒有 public、private 這樣的語法的。

  5. 枚舉類型的第一個字段必須為 0 ;

    這也是一個約定。

  6. 移除了對分組的支持;

    分組的功能完全可以用消息嵌套的方式來實現,并且更清晰。在 proto2 中已經把分組語法標注為『過期』了。這次也算清理垃圾了。

  7. 舊代碼在解析新增字段時,會把不認識的字段丟棄,再序列化后新增的字段就沒了;

    在 proto2 中,舊代碼雖然會忽視不認識的新增字段,但并不會將其丟棄,再序列化的時候那些字段會被原樣保留。

    我覺得還是 proto2 的處理方式更好一些。能盡量保持兼容性和擴展能力,或許實現起來也更簡單。proto3 現在的處理方式,沒有帶來明顯的好處,但丟掉了部分兼容性和靈活性。

  8. 移除了對擴展的支持,新增了 Any 類型;

    Any 類型是用來替代 proto2 中的擴展的。目前還在開發中。

    proto2 中的擴展特性很像 Swift 語言中的擴展。理解起來有點困難,使用起來更是會帶來不少混亂。

    相比之下,proto3 中新增的 Any 類型有點想 C/C++ 中的 void* ,好理解,使用起來邏輯也更清晰。

  9. 增加了 JSON 映射特性;

    語言的活力來自于與時俱進。當前,JSON 的流行有其充分的理由。很多『現代化』的語言都內置了對 JSON 的支持,比如 Go、PHP 等。而 C++ 這種看似保羅萬象的學院派語言,因循守舊、故步自封,以致于現出了式微的苗條。

posted on 2016-11-17 14:11 楊粼波 閱讀(17676) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            最新亚洲电影| 99国产精品久久久久久久| 久久免费视频网| 欧美一区深夜视频| 久久先锋影音| 欧美ed2k| 在线亚洲精品福利网址导航| 一本色道久久综合亚洲精品小说| 亚洲午夜精品视频| 久久人人爽国产| 国产精品电影观看| 黄色成人在线观看| 国产精品爽黄69| 亚洲精品在线看| 久久久蜜桃精品| 久久婷婷国产麻豆91天堂| 伊人成综合网伊人222| 亚洲一区二区成人| 美女在线一区二区| 欧美一级大片在线观看| 欧美精品二区三区四区免费看视频| 国产精品每日更新在线播放网址| 激情丁香综合| 久久久久久噜噜噜久久久精品| 久久久久久久尹人综合网亚洲 | 亚洲国产99| 亚洲欧美春色| 欧美午夜免费| 亚洲免费观看高清完整版在线观看| 日韩亚洲不卡在线| 欧美片在线播放| 亚洲免费黄色| 亚洲欧美国产77777| 伊人成人网在线看| 日韩亚洲欧美高清| 亚洲第一在线综合网站| 香港久久久电影| 99在线热播精品免费99热| 欧美成人午夜免费视在线看片| 国产精品国产成人国产三级| 另类天堂av| 久久av二区| 国产精品入口日韩视频大尺度| 久久―日本道色综合久久| 美女图片一区二区| 激情婷婷亚洲| 亚洲在线免费观看| 国产精品视频网站| 亚洲国产欧美日韩精品| 欧美激情a∨在线视频播放| 亚洲人成绝费网站色www| 嫩草国产精品入口| 国产精品欧美一区喷水| 亚洲国产成人久久| 亚洲成色www久久网站| 亚洲午夜激情网页| 日韩香蕉视频| 欧美大片在线观看一区| 欧美专区中文字幕| 六月婷婷久久| 久久久av网站| 久久乐国产精品| 亚洲一区二区三区激情| 欧美成人中文字幕在线| 欧美成人精品福利| 亚洲成人自拍视频| 久久免费午夜影院| 毛片一区二区三区| 亚洲激情欧美| 久久久久免费视频| 国产一区 二区 三区一级| 免费国产一区二区| 影院欧美亚洲| 欧美成人蜜桃| 日韩午夜精品| 亚洲欧美精品在线| 欧美激情影院| 久久九九99| 亚洲视频1区2区| 久久国产免费| 一区二区三区毛片| 久久蜜桃精品| 亚洲国产高清视频| 亚洲视频一区二区| 国产视频一区在线| 日韩视频在线观看国产| 亚洲一区二区成人| 国产综合第一页| 亚洲韩国精品一区| 亚洲午夜久久久久久久久电影院| 国产精品区免费视频| 欧美专区福利在线| 亚洲高清免费| 小辣椒精品导航| 亚洲国产91色在线| 久久精品视频网| 欧美激情女人20p| 宅男精品导航| 在线激情影院一区| 国产精品成人va在线观看| 欧美在线电影| 亚洲青色在线| 亚洲精品日韩在线| 久久亚洲图片| 亚洲天堂成人| 亚洲福利视频网站| 久久九九国产| 中国日韩欧美久久久久久久久| 国产伦一区二区三区色一情| 亚洲伊人观看| 亚洲国产乱码最新视频| 久久久精品网| 亚洲欧美日本国产有色| 亚洲国产精品va在线看黑人| 国产精品乱子乱xxxx| 男女av一区三区二区色多| 欧美激情久久久久| 欧美在线观看视频一区二区| 99在线|亚洲一区二区| 欧美日本一区| 久久综合久久综合九色| 欧美v日韩v国产v| 欧美在线视频一区二区| 亚洲午夜在线观看视频在线| 亚洲国产天堂久久国产91| 国产丝袜一区二区| 国产精品草草| 欧美亚州一区二区三区 | 亚洲主播在线观看| 亚洲精品久久7777| 亚洲第一中文字幕在线观看| 欧美中文字幕在线观看| 正在播放亚洲一区| 妖精成人www高清在线观看| 亚洲电影免费在线| 精品不卡视频| 好吊妞这里只有精品| 国产一区二区日韩精品| 国产精品尤物| 国产精品视屏| 久久久精品视频成人| 国产精品国产三级国产普通话蜜臀 | 欧美激情精品| 巨乳诱惑日韩免费av| 久久久久一区二区三区四区| 欧美中文字幕在线播放| 性18欧美另类| 久久人人爽人人| 久久久精品视频成人| 久久久久高清| 免费成人黄色av| 亚洲福利免费| 亚洲精品国产精品国产自| 日韩视频三区| 亚洲夜间福利| 欧美影视一区| 美国十次了思思久久精品导航| 欧美va亚洲va日韩∨a综合色| 欧美不卡一卡二卡免费版| 欧美日韩极品在线观看一区| 午夜精品国产| 亚洲精品免费网站| 99热这里只有成人精品国产| 亚洲午夜视频在线观看| 午夜精品一区二区三区四区 | 久久九九免费| 欧美成人激情在线| 国产精品分类| 狠狠色丁香久久婷婷综合丁香| 亚洲高清资源综合久久精品| 日韩视频在线一区二区三区| 亚洲欧美国产77777| 久久一综合视频| 91久久夜色精品国产网站| 亚洲综合色激情五月| 久久蜜臀精品av| 欧美色欧美亚洲另类二区| 欧美大成色www永久网站婷| 欧美视频一区二| 精品动漫一区| 亚洲免费婷婷| 欧美激情免费观看| 亚洲欧美综合精品久久成人 | 欧美中文字幕久久| 欧美va亚洲va香蕉在线| 国产精品视频免费一区| 亚洲国产精品va在线看黑人| 亚洲欧美在线aaa| 亚洲影视在线播放| 亚洲视频在线观看网站| 久久久久一本一区二区青青蜜月| 亚洲高清在线视频| 性久久久久久久| 欧美日韩久久不卡| 久久一区亚洲| 国产精品久久久亚洲一区| 亚洲精品三级| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲欧洲三级电影| 美国成人毛片|