This is a creation in Article, where the information may have evolved or changed.
package mainimport ("bytes" "Encoding/gob" "FMT")//--------------------//Encode Data encoded with GOB//func Encode ([]byte, error) {buf: = bytes. Newbuffer (nil) enc: = Gob. Newencoder (BUF) Err: = Enc. Encode (data) if err! = Nil {return nil, err} return BUF. Bytes (), nil}//-------------------///decode//data decoding with gob//func Decode (data []byte, to interface{}) error {buf: = byte S.newbuffer (data) Dec: = Gob. Newdecoder (BUF) return Dec. Decode (to)}type User struct {name string age Int}type out struct {age int Name string}func New () *user {return &user{name: "Viney", Age:32}}func Main () {//instantiate user u: = New ()//To User code B, err: = Encode (u) if err! = Nil {fmt. Println ("Encode fail:" + err.) Error ())}//to user decoding var out if err: = Decode (b, &out); Err! = Nil {fmt. Println ("Decode fail:" + err.) Error ())} FMT. Println (out)}