import (
"fmt"
"encoding/gob"
"bytes"
)
type Data struct {
Text string
Num float32
Arr []int
}
var data = Data {
"Hello", 3.14, []int{2, 5, 7},
}
//Encoding Binary Data
var buff bytes.Buffer
enc := gob.NewEncoder(&buff)
enc.Encode(data)
var data_b = buff.Bytes()
//Decoding Binary Data
buff2 := bytes.NewBuffer(data_b)
data2 := Data{}
dec := gob.NewDecoder(buff2)
dec.Decode(&data2)
//data2 is {Hello 3.14 [2 5 7]}
fmt.Println("data2 is", data2)