diff --git a/gobmarsh/marshal.go b/gobmarsh/marshal.go new file mode 100644 index 0000000..baa0154 --- /dev/null +++ b/gobmarsh/marshal.go @@ -0,0 +1,20 @@ +package gobmarsh + +import ( + "bytes" + "encoding/gob" +) + +func Marshal(v interface{}) ([]byte, error) { + b := new(bytes.Buffer) + err := gob.NewEncoder(b).Encode(v) + if err != nil { + return nil, err + } + return b.Bytes(), nil +} + +func Unmarshal(data []byte, v interface{}) error { + b := bytes.NewBuffer(data) + return gob.NewDecoder(b).Decode(v) +}