檢視是否安裝成功,在命令列輸入: 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...