gogs.go 724 B

12345678910111213141516171819202122232425262728293031323334
  1. package main
  2. import (
  3. "bytes"
  4. "encoding/gob"
  5. "encoding/hex"
  6. "fmt"
  7. "io/ioutil"
  8. "os"
  9. )
  10. func EncodeGob(obj map[interface{}]interface{}) ([]byte, error) {
  11. for _, v := range obj {
  12. gob.Register(v)
  13. }
  14. buf := bytes.NewBuffer(nil)
  15. err := gob.NewEncoder(buf).Encode(obj)
  16. return buf.Bytes(), err
  17. }
  18. func main() {
  19. var uid int64 = 1
  20. obj := map[interface{}]interface{}{"_old_uid": "1", "uid": uid, "uname": "root"}
  21. data, err := EncodeGob(obj)
  22. if err != nil {
  23. fmt.Println(err)
  24. }
  25. err = ioutil.WriteFile("data", data, os.O_CREATE|os.O_WRONLY)
  26. if err != nil {
  27. fmt.Println(err)
  28. }
  29. edata := hex.EncodeToString(data)
  30. fmt.Println(edata)
  31. }