From 096da7a702285ff058a6bdd4f9a650fefcab4a00 Mon Sep 17 00:00:00 2001 From: Dave Collins Date: Fri, 8 Mar 2013 22:45:02 -0600 Subject: [PATCH] Update docs for new byte array and slice behavior. --- README.md | 2 +- spew/config.go | 2 ++ spew/doc.go | 11 +++++++++++ spew/dump.go | 2 ++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 28b9b8f..ebea379 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ spew.Fprintf(someWriter, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) (string) "one": (bool) true } } -([]byte) { +([]uint8) { 00000000 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 |............... | 00000010 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 |!"#$%&'()*+,-./0| 00000020 31 32 |12| diff --git a/spew/config.go b/spew/config.go index 406171a..9296e67 100644 --- a/spew/config.go +++ b/spew/config.go @@ -235,6 +235,8 @@ package: * Custom types which only implement the Stringer/error interfaces via a pointer receiver are optionally invoked when passing non-pointer variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output The configuration options are controlled by modifying the public members of c. See ConfigState for options documentation. diff --git a/spew/doc.go b/spew/doc.go index 2e5acb2..8018d1d 100644 --- a/spew/doc.go +++ b/spew/doc.go @@ -28,6 +28,9 @@ printing facilities for Go data types are as follows: * Custom types which only implement the Stringer/error interfaces via a pointer receiver are optionally invoked when passing non-pointer variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output (only when using + Dump style) There are two different approaches spew allows for dumping Go data structures: @@ -117,6 +120,14 @@ shown here. } } +Byte (and uint8) arrays and slices are displayed uniquely like the hexdump -C +command as shown. + ([]uint8) { + 00000000 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 |............... | + 00000010 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 |!"#$%&'()*+,-./0| + 00000020 31 32 |12| + } + Custom Formatter Spew provides a custom formatter the implements the fmt.Formatter interface diff --git a/spew/dump.go b/spew/dump.go index b47b5db..bf61419 100644 --- a/spew/dump.go +++ b/spew/dump.go @@ -377,6 +377,8 @@ package: * Custom types which only implement the Stringer/error interfaces via a pointer receiver are optionally invoked when passing non-pointer variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output The configuration options are controlled by an exported package global, spew.Config. See ConfigState for options documentation.