protobuf3使用,golang語言實現

2021-08-30 17:45:36 字數 1276 閱讀 5673

檢視是否安裝成功,在命令列輸入: proto --version

安裝成功之後,就可以按照protobuf的規則編碼和解碼任何我們想要傳輸的資料了。

比起xml和json形式的資料傳輸,protobuf擁有更高的資料壓縮比和壓縮效率。

相當於給乙個物件新增相應的屬性。

//指定版本

//注意proto3與proto2的寫法有些不同

syntax = "proto3";

//包名,通過protoc生成時go檔案時

package test;

// 班級

message class

// 學生

message student

//性別

enum ***

.proto檔案寫好之後,不方便我們在**中使用,需要利用剛才安裝的proto工具生成乙個我們可以在**中方便實際呼叫的類。 

這個類生成之後就變成我們和protobuf交換資料的橋梁,我們可以看懂和使用,protobuf也可以識別和解析。

生成test.pb.go檔案之後.proto就不需要了,但是為了後期更改和**可讀性繼續保留該檔案。

test.pb.go具體**我就不貼出來了,命令如下:  protoc --go_out=.  *.proto

},} // 使用protobuf工具把struct資料型別格式化成位元組陣列(壓縮和編碼)

data, _ := proto.marshal(c1)

// 把位元組陣列寫入到檔案中

ioutil.writefile("test.txt", data, os.modeperm)

}func read()

}func main()**輸出結果:

2018/11/02 16:18:52 1

2018/11/02 16:18:52 xiaoming 21 man

2018/11/02 16:18:52 xiaohua 21 woman

2018/11/02 16:18:52 xiaojin 21 man

php使用protobuf3, 安裝使用

摘自 protobuf 3.1以下版本裡並不支援php,需要安裝擴充套件等,建議直接用最新版本3.9.1 簡介 google protocol buffer 簡稱protobuf 是google公司內部的混合語言資料標準,目前已經正在使用的有超過48,162種報文格式定義和超過12183個.prot...

PHP讀寫protobuf3示例

在proto3中,可以直接使用protoc命令生成php 生成的php 不能直接使用,還需要 protobuf 的php庫 支援。下面通過乙個例子演示下php怎麼使用protobuf。首先定義proto檔案 syntax proto3 package lm message helloworld 注意...

protobuf3的學習筆記

學習protobuf的過程中踩了不少的坑,這篇博文算是乙個小結吧!1 windows 10 2 visualstudio 2017 3 google.protobuf.tools.3.9.1 4 google.protobuf.3.9.1 這裡先構建乙個普通的.proto檔案,檔名為myreques...