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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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>
            中文精品视频| 欧美一区二区在线播放| 欧美a级片网| 亚洲精品午夜| 亚洲国产另类精品专区| 免费不卡在线观看| 牛牛精品成人免费视频| 夜夜嗨av一区二区三区四季av | 欧美 日韩 国产 一区| 极品少妇一区二区| 亚洲天堂成人在线视频| 亚洲香蕉伊综合在人在线视看| 欧美制服第一页| 一区免费在线| 日韩一区二区久久| 国产精品综合久久久| 久久久亚洲国产美女国产盗摄| 亚洲毛片网站| 国产精品亚洲不卡a| 久久午夜av| 欧美日韩国产综合视频在线观看中文| 国产综合久久久久久鬼色| 99天天综合性| 午夜精品视频一区| 亚洲第一在线视频| av72成人在线| 经典三级久久| 久久精品视频在线观看| 美女主播一区| 欧美一区2区三区4区公司二百| 99re这里只有精品6| 国产欧美一级| 日韩视频中午一区| 一区二区三区自拍| 亚洲图色在线| 99国产精品| 久久精品一区二区三区不卡牛牛| 国产网站欧美日韩免费精品在线观看| 亚洲午夜精品一区二区| 99av国产精品欲麻豆| 欧美另类高清视频在线| 久久久久国产精品午夜一区| 欧美一级播放| 影音先锋久久精品| 亚洲一级二级| 日韩亚洲欧美精品| 麻豆精品精华液| 久久婷婷麻豆| 久热re这里精品视频在线6| 午夜精品久久久| 欧美一区二区三区四区在线 | 免费观看成人www动漫视频| 亚洲私人影院在线观看| 一区二区三区欧美| 亚洲激情国产| 老司机精品视频网站| 久久久久久高潮国产精品视| 国产精品一区二区你懂的| 久久激情综合网| 久久久99国产精品免费| 欧美一区国产一区| 国产精品青草久久| 久久人人九九| 国产最新精品精品你懂的| 亚洲午夜黄色| 欧美一区二区久久久| 国产精品福利网站| 亚洲无限乱码一二三四麻| 国产精品99久久久久久有的能看| 亚洲欧美在线免费观看| 欧美一区二区三区精品电影| 国产精品欧美日韩久久| 欧美jizz19hd性欧美| 狠狠综合久久av一区二区小说| 亚洲精品四区| 亚洲一区二区三区乱码aⅴ| 欧美日韩国产综合久久| 久久久久久国产精品mv| 欧美日韩另类丝袜其他| 亚洲免费小视频| 国产欧美日本在线| 欧美自拍偷拍| 欧美大片在线观看一区二区| 亚洲精品免费一区二区三区| 午夜在线电影亚洲一区| 久久久久一区二区| 在线日韩日本国产亚洲| 欧美国产日韩一区二区三区| 一区二区三区国产| 欧美一区二区在线播放| 激情国产一区二区| 蘑菇福利视频一区播放| 一本一道久久综合狠狠老精东影业| 在线高清一区| 欧美福利视频网站| 亚洲午夜女主播在线直播| 久久国内精品自在自线400部| 国产精品久久久久久av福利软件| 欧美激情亚洲国产| 亚洲天堂免费观看| 欧美精品入口| 午夜精品久久久久| 亚洲欧美另类综合偷拍| 好吊色欧美一区二区三区视频| 亚洲图片欧洲图片日韩av| 久久偷看各类wc女厕嘘嘘偷窃| 国产伦精品一区| 免费黄网站欧美| 亚洲一区欧美二区| 亚洲国产精品第一区二区| 亚洲永久字幕| 亚洲精品一区在线观看| 另类天堂视频在线观看| 亚洲一二三区精品| 西西裸体人体做爰大胆久久久| 欧美性jizz18性欧美| 免费成人网www| 亚洲欧美在线一区| 久久狠狠久久综合桃花| 日韩亚洲不卡在线| 在线成人激情黄色| 国产精品视频| 欧美日韩高清一区| 欧美a级片一区| 久久精品最新地址| 欧美电影在线播放| 亚洲黄色av| 亚洲成色999久久网站| 国产精品一区二区久久久| 欧美日韩国产另类不卡| 免费在线欧美视频| 久久人人看视频| 欧美中文字幕在线| 亚洲欧美成人一区二区三区| 99精品视频免费观看| 欧美一区二区三区喷汁尤物| 亚洲午夜久久久久久久久电影网| 国产日产精品一区二区三区四区的观看方式 | 99re66热这里只有精品4| 亚洲国产精品123| 精品91视频| 国外精品视频| 激情自拍一区| 激情五月***国产精品| 国产综合欧美在线看| 国产亚洲二区| 红桃视频欧美| 亚洲国产mv| 国产精品av久久久久久麻豆网| 欧美影院久久久| 久久爱www久久做| 欧美在线高清视频| 久久蜜臀精品av| 欧美v国产在线一区二区三区| 亚洲桃色在线一区| 亚洲欧美国产日韩中文字幕| 亚洲在线观看| 久久精品国产清高在天天线| 91久久国产综合久久| 亚洲三级影片| 在线午夜精品| 欧美在线亚洲一区| 麻豆精品在线播放| 欧美日韩免费在线观看| 国产精品伦一区| 国产综合视频在线观看| 亚洲品质自拍| 午夜精品福利一区二区三区av| 亚洲精品乱码久久久久久| 夜夜夜久久久| 亚洲日本va午夜在线影院| 亚洲精品美女在线观看| 亚洲欧美国产精品桃花| 日韩视频中文| 欧美怡红院视频一区二区三区| 99精品视频免费在线观看| 亚洲欧美日韩国产成人| 老**午夜毛片一区二区三区| 久久成人av少妇免费| 欧美高清在线播放| 亚洲天堂视频在线观看| 久久久久综合网| 欧美伊人久久久久久久久影院 | 欧美国产日韩一区二区| 一本久久精品一区二区| 欧美专区日韩视频| 欧美日韩国产三级| 黄色一区三区| 亚洲一区图片| 亚洲国产精品一区二区三区| 亚洲一区二区三区乱码aⅴ| 麻豆久久精品| 国产日韩视频| 亚洲中午字幕| 欧美国产日韩二区| 性18欧美另类| 欧美系列精品| 99在线热播精品免费99热| 久久免费高清| 亚洲欧美另类在线观看|