Serialization / Binary format

import (
    "fmt"
    "encoding/gob"
    "bytes"
)

type Data struct {
    Text string
    Num float32
    Arr []int
}

var data = Data {
    "Hello"3.14, []int{257},
}

//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)