Golang : Saving(serializing) and reading file with GOB
Golang has a package ( GOB ) that allows developers to store memory values( such as int[], float64[] or any kind of structs ) into files for storage, store in a database, transmit over a network or processing the data with another program. Saving memory values to file is also known as serializing Golang objects. In this tutorial, we will learn how to serialize int[]
values to a file in a program and retrieve the int[]
values from another program.
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()
}
and retrieve the serialized objects or values:
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)
}
Output :
[101 102 103]
References :
http://golang.org/pkg/encoding/gob/
https://socketloop.com/references/golang-encoding-gob-encoder-encode-function-example
https://www.socketloop.com/references/golang-encoding-gob-newencoder-function-examples
See also : Golang : Tutorial on loading GOB and PEM files
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+30.1k Golang : Math pow(the power of x^y) example
+12.4k Golang : Activate web camera and broadcast out base64 encoded images
+25.1k Golang : Encrypt and decrypt data with AES crypto
+11.2k Golang : How to check if a string starts or ends with certain characters or words?
+5.5k Nginx : Password protect a directory/folder
+16.6k Golang : Get all upper case or lower case characters from string example
+5.7k Golang : Warp text string by number of characters or runes example
+13.7k Golang : Get all local users and print out their home directory, description and group id
+4.9k Golang : How to search a list of records or data structures
+53.2k Golang : Unmarshal JSON from http response
+20.9k Golang : Read directory content with filepath.Walk()
+5.8k CloudFlare : Another way to get visitor's real IP address