Go語言的序列化與反序列化(gob)


encoding/gob包實現了高效的序列化,特別是數據結構較復雜的,結構體、數組和切片都被支持。

實現代碼如下:
//定義一個結構體
type Student struct {
Name string
Age uint8
Address string
}

func main(){
//序列化
s1:=Student{"張三",18,"江蘇省"}
var buffer bytes.Buffer
encoder := gob.NewEncoder(&buffer)//創建編碼器
err1 := encoder.Encode(&s1)//編碼
if err1!=nil{
log.Panic(err1)
}
fmt.Printf("序列化后:%x\n",buffer.Bytes())

//反序列化
byteEn:=buffer.Bytes()
decoder := gob.NewDecoder(bytes.NewReader(byteEn)) //創建解密器
var s2 Student
err2 := decoder.Decode(&s2)//解密
if err2!=nil{
log.Panic(err2)
}
fmt.Println("反序列化后:",s2)
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM