github.com/alexflint/go-memdump@v1.1.0/end-to-end/main.go (about) 1 package main 2 3 import ( 4 "bytes" 5 "fmt" 6 "os" 7 "reflect" 8 9 memdump "github.com/alexflint/go-memdump" 10 ) 11 12 type T struct { 13 X int 14 Y string 15 } 16 17 func main() { 18 var b bytes.Buffer 19 20 in := T{X: 123, Y: "xyz"} 21 err := memdump.Encode(&b, &in) 22 if err != nil { 23 fmt.Println(err) 24 os.Exit(1) 25 } 26 27 var out *T 28 err = memdump.Decode(&b, &out) 29 if err != nil { 30 fmt.Println(err) 31 os.Exit(1) 32 } 33 34 if !reflect.DeepEqual(in, *out) { 35 fmt.Printf("objects were not equal: %v vs %v\n", in, *out) 36 os.Exit(1) 37 } 38 }