gob.go 438 B

123456789101112131415161718192021222324252627282930
  1. package utils
  2. import (
  3. "bytes"
  4. "encoding/gob"
  5. )
  6. //解码
  7. func Decode(value string,r interface{}) (error) {
  8. network := bytes.NewBuffer([]byte(value));
  9. dec := gob.NewDecoder(network)
  10. return dec.Decode(r);
  11. }
  12. //编码
  13. func Encode(value interface{}) (string,error) {
  14. network:= bytes.NewBuffer(nil);
  15. enc := gob.NewEncoder(network)
  16. err := enc.Encode(value);
  17. if err != nil {
  18. return "",err;
  19. }
  20. return network.String(),nil;
  21. }