mirror of
https://github.com/pyihe/go-pkg.git
synced 2025-10-06 16:36:50 +08:00
24 lines
439 B
Go
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)
|
|
}
|