| // Copyright 2011 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| // Initialize the encoder and decoder. Normally enc and dec would be |
| // bound to network connections and the encoder and decoder would |
| // run in different processes. |
| var network bytes.Buffer // Stand-in for a network connection |
| enc := gob.NewEncoder(&network) // Will write to network. |
| dec := gob.NewDecoder(&network) // Will read from network. |
| // Encode (send) the value. |
| err := enc.Encode(P{3, 4, 5, "Pythagoras"}) |
| log.Fatal("encode error:", err) |
| // Decode (receive) the value. |
| log.Fatal("decode error:", err) |
| fmt.Printf("%q: {%d,%d}\n", q.Name, *q.X, *q.Y) |