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:
parent
5842f7e46a
commit
7bffdc7247
52
src/pkg/encoding/binary/example_test.go
Normal file
52
src/pkg/encoding/binary/example_test.go
Normal 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)
|
||||
}
|
Loading…
Reference in New Issue
Block a user