github.com/varialus/godfly@v0.0.0-20130904042352-1934f9f095ab/src/pkg/encoding/binary/example_test.go (about)

     1  // Copyright 2011 The Go Authors.  All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package binary_test
     6  
     7  import (
     8  	"bytes"
     9  	"encoding/binary"
    10  	"fmt"
    11  	"math"
    12  )
    13  
    14  func ExampleWrite() {
    15  	buf := new(bytes.Buffer)
    16  	var pi float64 = math.Pi
    17  	err := binary.Write(buf, binary.LittleEndian, pi)
    18  	if err != nil {
    19  		fmt.Println("binary.Write failed:", err)
    20  	}
    21  	fmt.Printf("% x", buf.Bytes())
    22  	// Output: 18 2d 44 54 fb 21 09 40
    23  }
    24  
    25  func ExampleWrite_multi() {
    26  	buf := new(bytes.Buffer)
    27  	var data = []interface{}{
    28  		uint16(61374),
    29  		int8(-54),
    30  		uint8(254),
    31  	}
    32  	for _, v := range data {
    33  		err := binary.Write(buf, binary.LittleEndian, v)
    34  		if err != nil {
    35  			fmt.Println("binary.Write failed:", err)
    36  		}
    37  	}
    38  	fmt.Printf("%x", buf.Bytes())
    39  	// Output: beefcafe
    40  }
    41  
    42  func ExampleRead() {
    43  	var pi float64
    44  	b := []byte{0x18, 0x2d, 0x44, 0x54, 0xfb, 0x21, 0x09, 0x40}
    45  	buf := bytes.NewReader(b)
    46  	err := binary.Read(buf, binary.LittleEndian, &pi)
    47  	if err != nil {
    48  		fmt.Println("binary.Read failed:", err)
    49  	}
    50  	fmt.Print(pi)
    51  	// Output: 3.141592653589793
    52  }