...
1
2
3 package mxj
4
5 import (
6 "bytes"
7 "encoding/gob"
8 )
9
10
11
12
13
14 func NewMapGob(gobj []byte) (Map, error) {
15 m := make(map[string]interface{}, 0)
16 if len(gobj) == 0 {
17 return m, nil
18 }
19 r := bytes.NewReader(gobj)
20 dec := gob.NewDecoder(r)
21 if err := dec.Decode(&m); err != nil {
22 return m, err
23 }
24 return m, nil
25 }
26
27
28 func (mv Map) Gob() ([]byte, error) {
29 var buf bytes.Buffer
30 enc := gob.NewEncoder(&buf)
31 if err := enc.Encode(map[string]interface{}(mv)); err != nil {
32 return nil, err
33 }
34 return buf.Bytes(), nil
35 }
36
View as plain text