1
0
mirror of https://github.com/golang/go synced 2024-10-03 00:21:22 -06:00

encoding/binary: make new example a bit more idiomatic

Mainly get rid of the weird zero-value struct literal,
but while we're here also group and order things a bit better:
first the reader, then the data, then the call (which takes reader then data).

Change-Id: I901b0661d85d8eaa0807e4482aac66500ca996c7
Reviewed-on: https://go-review.googlesource.com/78118
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
This commit is contained in:
Russ Cox 2017-11-14 12:38:11 -05:00
parent 4f6035ae13
commit 9232a612fe

View File

@ -52,18 +52,20 @@ func ExampleRead() {
} }
func ExampleRead_multi() { func ExampleRead_multi() {
data := struct { b := []byte{0x18, 0x2d, 0x44, 0x54, 0xfb, 0x21, 0x09, 0x40, 0xff, 0x01, 0x02, 0x03, 0xbe, 0xef}
r := bytes.NewReader(b)
var data struct {
PI float64 PI float64
Uate uint8 Uate uint8
Mine [3]byte Mine [3]byte
Too uint16 Too uint16
}{} }
b := []byte{0x18, 0x2d, 0x44, 0x54, 0xfb, 0x21, 0x09, 0x40, 0xff, 0x01, 0x02, 0x03, 0xbe, 0xef}
buf := bytes.NewReader(b) if err := binary.Read(r, binary.LittleEndian, &data); err != nil {
err := binary.Read(buf, binary.LittleEndian, &data)
if err != nil {
fmt.Println("binary.Read failed:", err) fmt.Println("binary.Read failed:", err)
} }
fmt.Println(data.PI) fmt.Println(data.PI)
fmt.Println(data.Uate) fmt.Println(data.Uate)
fmt.Printf("% x\n", data.Mine) fmt.Printf("% x\n", data.Mine)