在go语言中使用GOB保存(序列化)和读取文件的流程步骤

2023-06-01 00:00:00 读取 步骤 保存

在go语言中有一个包(GOB),允许开发者将内存值(如int[]、float64[]或任何种类的结构)存储到文件中,以便存储在数据库中,通过网络传输或与其他程序一起处理数据。

将内存值保存到文件也被称为序列化Golang对象。

下面看看如何在程序中把int[]值序列化到文件中,并从另一个程序中取回int[]值。


代码示例:

savefilegob.go

 package main
 
 import (
 "encoding/gob"
 "fmt"
 "os"
 )
 
 func main() {
 data := []int{101, 102, 103}
 // create a file
 dataFile, err := os.Create("integerdata.gob")
 if err != nil {
 fmt.Println(err)
 os.Exit(1)
 }
 
 // serialize the data
 dataEncoder := gob.NewEncoder(dataFile)
 dataEncoder.Encode(data)
 dataFile.Close()
 }


并检索序列化的对象或值:

readfilegob.go

 package main
 import (
 "encoding/gob"
 "fmt"
 "os"
 )
 func main() {
 var data []int
 // open data file
 dataFile, err := os.Open("integerdata.gob")
 if err != nil {
 fmt.Println(err)
 os.Exit(1)
 }
 dataDecoder := gob.NewDecoder(dataFile)
 err = dataDecoder.Decode(&data)
 if err != nil {
 fmt.Println(err)
 os.Exit(1)
 }
 dataFile.Close()
 fmt.Println(data)
 }

输出:

[101 102 103]

可能感兴趣的文章:

在go语言中如何加载GOB和PEM文件的流程步骤

https://www.zongscan.com/demo333/96075.html

相关文章