From 948e0316453d9334644088984539d2e9c9da0b8c Mon Sep 17 00:00:00 2001 From: Dave Collins Date: Tue, 8 Jan 2013 23:51:09 -0600 Subject: [PATCH] Update README.md --- README.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b39f65c..f621865 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,61 @@ go-spew ======= -Implements a deep pretty printer for Go data structures to aid in debugging \ No newline at end of file +Go-spew implements a deep pretty printer for Go data structures to aid in +debugging. It is still under initial development, so some of the formatting +output is likely to change, however it is already quite capable. It is +licensed under the liberal ISC license, so it may be used in open source or +commercial projects. + +## Documentation + +Full `go doc` style documentation for the project can be viewed online without +installing this package by using the excellent GoDoc site here: +http://godoc.org/github.com/davecgh/go-spew/spew + +You can also view the documentation locally once the package is installed with +the `godoc` tool by running `godoc -http=":6060"` and pointing your browser to +http://localhost:6060/pkg/github.com/davecgh/go-spew/spew + +## Installation + +```bash +$ go get github.com/davecgh/go-spew/spew +``` + +## Quick Start + +To dump a variable with full newlines, indentation, type, and pointer +information use Dump or Fdump: + +```Go +spew.Dump(myVar1, myVar2, ...) +spew.Fdump(someWriter, myVar1, myVar2, ...) +``` + +Alternatively, if you would prefer to use format strings with a compacted inline +printing style, use the convenience wrappers Printf, Fprintf, etc with either +%v (most compact) or %+v (adds pointer addresses): + +```Go +spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) +spew.Fprintf(someWriter, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) +``` + +## Sample Dump Output + +``` + (main.Foo) { + unexportedField: (*main.Bar)(0xf84002e210)({ + flag: (main.Flag) flagTwo, + data: (uintptr) + }), + ExportedField: (map[interface {}]interface {}) { + (string) "one": (bool) true + } + } +``` + +## License + +Go-spew is licensed under the liberal ISC License.