Clone this repo:
  1. d65d576 Add benchmark for val2node by Kyle Lemons · 1 year, 7 months ago master
  2. bea4083 Remove 1.9 (doesn't exist yet, oops) by Kyle Lemons · 1 year, 7 months ago
  3. 6230425 Add testing for go1.8 and go1.9 by Kyle Lemons · 1 year, 7 months ago
  4. a616ab1 Merge pull request #14 from kbloom/master by Kyle Lemons · 2 years, 1 month ago
  5. 4106ce7 Remove some indefinite articles from the comment on pretty.Compare by Ken Bloom · 2 years, 1 month ago

Pretty Printing for Go

godebug build status

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!

Quick Examples

By default, pretty will write out a very compact representation of a data structure. From the Print example:

{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. See the documentation for more examples and customization.


Documentation for this package is available at

  • Pretty: godoc for godebug/pretty
  • Diff: godoc for godebug/diff


These packages are available via go get:

$ go get -u{pretty,diff}

Other Packages

If godebug/pretty is not granular enough, I highly recommend checking out go-spew.