Files
go-pkg/serialize/gob.go
2022-03-04 17:24:23 +08:00

24 lines
439 B
Go

package serialize
import (
"bytes"
"encoding/gob"
)
type gobSerializer struct{}
func Gob() Serializer {
return gobSerializer{}
}
func (gb gobSerializer) Encode(v interface{}) (data []byte, err error) {
buff := bytes.NewBuffer([]byte{})
err = gob.NewEncoder(buff).Encode(v)
data = buff.Bytes()
return
}
func (gb gobSerializer) Decode(data []byte, v interface{}) error {
return gob.NewDecoder(bytes.NewReader(data)).Decode(v)
}