Go使用Gob儲存資料

2022-01-24 11:53:07 字數 1215 閱讀 7543

go使用gob儲存資料

使用gob可以非常方便的儲存資料以及傳輸資料.先來個例子.直接使用官方的.序列化乙個結構體.

package main

import (

"bytes"

"encoding/gob"

"fmt"

"log"

)type pstruct

type qstruct

func main()

)iferr != nil

var

q qerr = dec.decode(&q)

iferr != nil

fmt.printf("%q: \n", q.name, *q.x,

*q.y)

}

從上面的例子可以發現,不僅可以把結構體直接轉化為bytes.buffer ,還可以直接把bytes.buffer 轉化為結構體,並讀取資料,雖然另外一
個文章import (

"bytes"

"encoding/gob"

"fmt"

"log"

"io/ioutil"

"os"

)type pstruct

type qstruct

func main()

)//編碼結構體和資料

iferr != nil

ioutil.writefile("vt.dat", fout.bytes(), 0644)//寫入檔案

//讀取並且解碼

fin,err :

= os.open("vt.dat")//讀取資料

dec :

= gob.newdecoder(fin)//解碼資料

var q

qerr = dec.decode(&q)

iferr != nil

fmt.printf("%q: \n", q.name, *q.x,

*q.y)

}那再來看看儲存的檔案的樣子吧.記事本開啟的.

*?p? x y z name ? pythagoras

怎麼樣呢.

go語言實現Gob編譯碼

package main import bytes encoding gob fmt encode 用gob進行資料編碼 func encode data inte ce byte,error return buf.bytes nil decode 用gob進行資料解碼 func decode da...

gob序列化工具使用

gob是谷歌自己的序列化工具,只能在go語言中使用。常用的場景就是rpc傳輸資料。閒話少說直接上 package main import encoding gob bytes log fmt type user struct type student struct func main buf new...

go之二進位制協議gob和msgpack

文章引用自 本文主要介紹二進位制協議gob及msgpack的基本使用。最近在寫乙個gin框架的session服務時遇到了乙個問題,go語言中的json包在序列化空介面存放的數字型別 整型 浮點型等 都序列化成float64型別。我們構造乙個結構體如下 type s struct func jsond...