Protobuf檔案的編寫與使用

2021-09-25 21:13:05 字數 1172 閱讀 3611

字段型別

syntax = "proto3";

import public "other.proto";

package go.micro.hello;

service greeter

}message hellorequest

message phonenumber

repeated phonenumber phone = 4;

mapphonenums=5;

}message helloresponse

檔案的第一行宣告了後面使用proto3的語法,如果沒有該行,程式將預設為proto2的語法。

注意:該行需要是非空非注釋的第一行

syntax = "proto3";
import public "other.proto";
public 可選擇的屬性有weak,public

package go.micro.hello;
service greeter 

}

使用兩條斜槓 「//」 即可

或者使用/* … */

//hello請求的定義
required string name = 1;
乙個良好的訊息格式至少存在乙個這種字段。表示該值是必須要設定的。

資料傳送方和接收方都必須處理這個字段。

乙個良好的訊息格式有0個或1個這種字段(但不超過乙個)。

在protobuf處理的時候另外加上了bool變數,用來標記這個字段是否有值,如果有值,那麼就會給bool變數標記為true,否則標記為false。

乙個良好的訊息格式該欄位可以重複任意次數(包括零次)。

在protobuf處理的時候加了count計數變數,用來標記這個欄位有多少個。

如果三種規則都沒有定義,那麼如果沒有攜帶該字段的訊息,那麼會以預設值代替。如bool型會以false代替;numeric型會以0代替

bool, int32, uint32, bytes, float, double, string, messagetype, enumtype, map

protobuf安裝與生成c 檔案

protobuf原始碼 解壓 tar zvf protobuf tar.gz 進入到protobuf目錄 cd protobuf 指定安裝目錄 configure prefix usr local protobuf 編譯 make。測試 make check。安裝 make install。設定環境...

Linux crash dump檔案生成與使用

不像windows程式需手動呼叫相關函式,linux程式crash dump 稱為core dump 檔案會在程式崩潰 如sigsegv 時自動生成,只需要在之前設定了乙個引數即可 當然,windows的方式能夠支援更靈活的功能。生成 1,使用ulimit c unlimited設定引數 unlim...

properties 檔案的編寫與讀取

編寫.properties檔案 檔案編寫以 key value 格式 符號是允許有空格的,程式讀取時會去除 左右空格 資料以換行來標識結束 定義類獲取.peroperties檔案中的值 獲取本類class物件 通過class物件獲取classloader類載入器 通過類載入器的getresource...