1
0
mirror of https://github.com/golang/go synced 2024-11-25 00:07:56 -07:00

encoding/binary: add Write and Read examples

R=golang-dev, r, adg
CC=golang-dev
https://golang.org/cl/5495095
This commit is contained in:
Andrew Gerrand 2011-12-20 13:16:36 +11:00
parent 5842f7e46a
commit 7bffdc7247

View File

@ -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)
}