Source file
doc/progs/gobs2.go
1
2
3
4
5 package main
6
7 import (
8 "bytes"
9 "encoding/gob"
10 "fmt"
11 "log"
12 )
13
14 type P struct {
15 X, Y, Z int
16 Name string
17 }
18
19 type Q struct {
20 X, Y *int32
21 Name string
22 }
23
24 func main() {
25
26
27
28 var network bytes.Buffer
29 enc := gob.NewEncoder(&network)
30 dec := gob.NewDecoder(&network)
31
32 err := enc.Encode(P{3, 4, 5, "Pythagoras"})
33 if err != nil {
34 log.Fatal("encode error:", err)
35 }
36
37 var q Q
38 err = dec.Decode(&q)
39 if err != nil {
40 log.Fatal("decode error:", err)
41 }
42 fmt.Printf("%q: {%d,%d}\n", q.Name, *q.X, *q.Y)
43 }
44
View as plain text