12345678910111213141516171819202122232425262728293031323334 |
- package main
- import (
- "bytes"
- "encoding/gob"
- "encoding/hex"
- "fmt"
- "io/ioutil"
- "os"
- )
- func EncodeGob(obj map[interface{}]interface{}) ([]byte, error) {
- for _, v := range obj {
- gob.Register(v)
- }
- buf := bytes.NewBuffer(nil)
- err := gob.NewEncoder(buf).Encode(obj)
- return buf.Bytes(), err
- }
- func main() {
- var uid int64 = 1
- obj := map[interface{}]interface{}{"_old_uid": "1", "uid": uid, "uname": "root"}
- data, err := EncodeGob(obj)
- if err != nil {
- fmt.Println(err)
- }
- err = ioutil.WriteFile("data", data, os.O_CREATE|os.O_WRONLY)
- if err != nil {
- fmt.Println(err)
- }
- edata := hex.EncodeToString(data)
- fmt.Println(edata)
- }
|