]> Cypherpunks repositories - gostls13.git/commitdiff
encoding/binary: add Write and Read examples
authorAndrew Gerrand <adg@golang.org>
Tue, 20 Dec 2011 02:16:36 +0000 (13:16 +1100)
committerAndrew Gerrand <adg@golang.org>
Tue, 20 Dec 2011 02:16:36 +0000 (13:16 +1100)
R=golang-dev, r, adg
CC=golang-dev
https://golang.org/cl/5495095

src/pkg/encoding/binary/example_test.go [new file with mode: 0644]

diff --git a/src/pkg/encoding/binary/example_test.go b/src/pkg/encoding/binary/example_test.go
new file mode 100644 (file)
index 0000000..297d6c1
--- /dev/null
@@ -0,0 +1,52 @@
+// 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.
+
+package binary_test
+
+import (
+       "bytes"
+       "encoding/binary"
+       "fmt"
+       "math"
+)
+
+// 18 2d 44 54 fb 21 09 40
+func ExampleWrite() {
+       buf := new(bytes.Buffer)
+       var pi float64 = math.Pi
+       err := binary.Write(buf, binary.LittleEndian, pi)
+       if err != nil {
+               fmt.Println("binary.Write failed:", err)
+       }
+       fmt.Printf("% x", buf.Bytes())
+}
+
+// cafebabe
+func ExampleWrite_multi() {
+       buf := new(bytes.Buffer)
+       var data = []interface{}{
+               int8(-54),
+               uint8(254),
+               uint16(48826),
+       }
+       for _, v := range data {
+               err := binary.Write(buf, binary.LittleEndian, v)
+               if err != nil {
+                       fmt.Println("binary.Write failed:", err)
+               }
+       }
+       fmt.Printf("%x", buf.Bytes())
+}
+
+// 3.141592653589793
+func ExampleRead() {
+       var pi float64
+       b := []byte{0x18, 0x2d, 0x44, 0x54, 0xfb, 0x21, 0x09, 0x40}
+       buf := bytes.NewBuffer(b)
+       err := binary.Read(buf, binary.LittleEndian, &pi)
+       if err != nil {
+               fmt.Println("binary.Read failed:", err)
+       }
+       fmt.Print(pi)
+}