65 lines
2 KiB
Markdown
65 lines
2 KiB
Markdown
|
Pretty Printing for Go
|
||
|
======================
|
||
|
|
||
|
[![godebug build status][ciimg]][ci]
|
||
|
|
||
|
Have you ever wanted to get a pretty-printed version of a Go data structure,
|
||
|
complete with indentation? I have found this especially useful in unit tests
|
||
|
and in debugging my code, and thus godebug was born!
|
||
|
|
||
|
[ciimg]: https://travis-ci.org/kylelemons/godebug.svg?branch=master
|
||
|
[ci]: https://travis-ci.org/kylelemons/godebug
|
||
|
|
||
|
Quick Examples
|
||
|
--------------
|
||
|
|
||
|
By default, pretty will write out a very compact representation of a data structure.
|
||
|
From the [Print example][printex]:
|
||
|
|
||
|
```
|
||
|
{Name: "Spaceship Heart of Gold",
|
||
|
Crew: {Arthur Dent: "Along for the Ride",
|
||
|
Ford Prefect: "A Hoopy Frood",
|
||
|
Trillian: "Human",
|
||
|
Zaphod Beeblebrox: "Galactic President"},
|
||
|
Androids: 1,
|
||
|
Stolen: true}
|
||
|
```
|
||
|
|
||
|
It can also produce a much more verbose, one-item-per-line representation suitable for
|
||
|
[computing diffs][diffex]. See the documentation for more examples and customization.
|
||
|
|
||
|
[printex]: https://godoc.org/github.com/kylelemons/godebug/pretty#example-Print
|
||
|
[diffex]: https://godoc.org/github.com/kylelemons/godebug/pretty#example-Compare
|
||
|
|
||
|
Documentation
|
||
|
-------------
|
||
|
|
||
|
Documentation for this package is available at [godoc.org][doc]:
|
||
|
|
||
|
* Pretty: [![godoc for godebug/pretty][prettyimg]][prettydoc]
|
||
|
* Diff: [![godoc for godebug/diff][diffimg]][diffdoc]
|
||
|
|
||
|
[doc]: https://godoc.org/
|
||
|
[prettyimg]: https://godoc.org/github.com/kylelemons/godebug/pretty?status.png
|
||
|
[prettydoc]: https://godoc.org/github.com/kylelemons/godebug/pretty
|
||
|
[diffimg]: https://godoc.org/github.com/kylelemons/godebug/diff?status.png
|
||
|
[diffdoc]: https://godoc.org/github.com/kylelemons/godebug/diff
|
||
|
|
||
|
Installation
|
||
|
------------
|
||
|
|
||
|
These packages are available via `go get`:
|
||
|
|
||
|
```bash
|
||
|
$ go get -u github.com/kylelemons/godebug/{pretty,diff}
|
||
|
```
|
||
|
|
||
|
Other Packages
|
||
|
--------------
|
||
|
|
||
|
If `godebug/pretty` is not granular enough, I highly recommend
|
||
|
checking out [go-spew][spew].
|
||
|
|
||
|
[spew]: http://godoc.org/github.com/davecgh/go-spew/spew
|