第三方資料格式庫protobuf

2022-06-07 18:06:14 字數 1795 閱讀 4625

protobuf是一種高效的資料格式,平台無關、語言無關、可擴充套件,可用於 rpc 系統和持續資料儲存系統。

protobufprotocol buffer的簡稱,它是google公司於2023年開源的一種高效的平台無關、語言無關、可擴充套件的資料格式,目前protobuf作為介面規範的描述語言,可以作為go語言rpc介面的基礎工具。

protobuf是乙個與語言無關的乙個資料協議,所以我們需要先編寫idl檔案然後借助專用工具生成指定語言的**,從而實現資料的序列化與反序列化過程。

大致開發流程如下: 1. idl編寫 2. 生成指定語言的** 3. 序列化和反序列化

protobuf3語法指南

安裝生成go語言**的工具

go get -u github.com/golang/protobuf/protoc-gen-go
protobuf_demo/address目錄下新建乙個名為person.proto的檔案具體內容如下:

// 指定使用protobuf版本

// 此處使用v3版本

syntax = "proto3";

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

package address;

// 性別型別

// 列舉型別第乙個字段必須為0

enum gendertype

// 人

message person

// 聯絡簿

message contactbook

protobuf_demo/address目錄下執行以下命令。

address $ protoc --go_out=. ./person.proto
此時在當前目錄下會生成乙個person.pb.go檔案,我們的go語言**裡就是使用這個檔案。 在protobuf_demo/main.go檔案中:

// 序列化

data, err := proto.

marshal

(&p1)

if err !=

nil ioutil.

writefile

("./proto.dat"

, data,

0644

) data2, err := ioutil.

readfile

("./proto.dat"

)if err !=

nilvar p2 address.person

proto.

unmarshal

(data2,

&p2)

fmt.

println

(p2)

}

PyThon第三方庫

本文 自 戀花蝶的部落格 今天公司停電,沒上班。跑上來更新個部落格,跟大家分享一下我常用的幾個第三方 python 庫。python 語言之所以能夠如此流行,除了本身內建許多程式庫來保障快速開發之外,目不睱接的第三方庫也是一大主因。結合我目前的工作 網遊開發 我常用的幾個第三方庫如下 wxpytho...

lua第三方庫

luacom 支援com呼叫 luadoc 支援lua 的文件生成 luaexpat 支援xml解析 luafilesystem 檔案系統訪問 lualogging 基於log4j的日誌 luaprofiler 效能測試工具 luasocket 網路庫,支援http,ftp,smtp,mime,ur...

常用第三方庫

1 通過cocoapods安裝 專案名稱 專案資訊 afnetworking 網路請求元件 fmdb 本地資料庫元件 sdwebimage 多個縮圖快取元件 uickeychainstore 存放使用者賬號密碼元件 reachability 監測網路狀態 datetools 友好化時間 mbprog...