PB例子學習

2021-08-22 08:26:39 字數 858 閱讀 3582

syntax = "proto2";

message article

optional articletype article_type = 5 [default = novel];

message author

optional author author = 6;

repeated int32 article_numberofwords = 7 [packed=true];

//對於基本數值型別,由於歷史原因,不能被

protobuf

更有效的

encode

。所以在新的**中使用

packed=true

可以更加有效率的

encode

。注意packed

只能用於

repeated

數值型別的字段。不能用於

string

型別的字段

reserved 9, 10, 12 to 15;

//保留相關編號標籤,主要是防止在更新

proto

檔案刪除了某些字段,而未來的使用者定義新的字段時重新使用了該編號標籤。這會引起一些問題在獲取老版本的訊息時,譬如資料衝突,隱藏的一些

bug等。所以一定要用

reserved

標記這些編號標籤以保證不會被使用

extensions 100 to 1000;

//當我們需要對訊息進行擴充套件的時候,我們可以用

extensions

關鍵字來定義一些編號標籤供第三方擴充套件。這樣的好處是不需要修改原來的訊息格式。 }

extend article

message other

}來自火星的:

pb學習筆記一

1,引用變數遇到變數名相符的變數,按照如下的順序查詢引用的變數 local shared global instance 如果存在相同名稱local,shared和global型變數,在引用變數時,local,shared型會被先引用,global會被覆蓋,若要引用全域性變數,在變數名前加全域性操作...

PB學習中遇到的函式

1 getcurrentdirectory 2 fileopen filename 引數filename string型別,指定要開啟檔案的名稱,其中可以包含路徑 引數filemode filemode列舉型別,可選項,指定檔案開啟方式。有效取值為 linemode 預設值,行模式 streammo...

建模學習例子

在專案協作中,建模工具起到了非同尋常的作用。可以使專案管理員確定專案範圍,使分析員了解系統提供的功能,使開發員了解系統的邏輯流程及系統中物件之間的訊息轉遞等等。就使得專案管理員,系統分析員,開發員有必要掌握一種建模工具。如rose,powerdesiger,ea,viso等。rose是我參加工作後,...