import "github.com/kr/pretty"
Package pretty provides pretty-printing for Go values. This is useful during debugging, to avoid wrapping long output lines in the terminal.
It provides a function, Formatter, that can be used with any function that accepts a format string. It also provides convenience wrappers for functions in packages fmt and log.
Code:
type myType struct {
a, b int
}
var x = []myType{{1, 2}, {3, 4}, {5, 6}}
fmt.Printf("%# v", pretty.Formatter(x))
Output:
[]pretty_test.myType{
{a:1, b:2},
{a:3, b:4},
{a:5, b:6},
}
diff.go formatter.go pretty.go zero.go
Diff returns a slice where each element describes a difference between a and b.
Errorf is a convenience wrapper for fmt.Errorf.
Calling Errorf(f, x, y) is equivalent to fmt.Errorf(f, Formatter(x), Formatter(y)).
Fdiff writes to w a description of the differences between a and b.
Formatter makes a wrapper, f, that will format x as go source with line breaks and tabs. Object f responds to the "%v" formatting verb when both the "#" and " " (space) flags are set, for example:
fmt.Sprintf("%# v", Formatter(x))
If one of these two flags is not set, or any other verb is used, f will format x according to the usual rules of package fmt. In particular, if x satisfies fmt.Formatter, then x.Format will be called.
Fprintf is a convenience wrapper for fmt.Fprintf.
Calling Fprintf(w, f, x, y) is equivalent to fmt.Fprintf(w, f, Formatter(x), Formatter(y)).
Ldiff prints to l a description of the differences between a and b. It calls Logf once for each difference, with no trailing newline. The standard library testing.T and testing.B are Logfers.
func Log(a ...interface{})Log is a convenience wrapper for log.Printf.
Calling Log(x, y) is equivalent to log.Print(Formatter(x), Formatter(y)), but each operand is formatted with "%# v".
Logf is a convenience wrapper for log.Printf.
Calling Logf(f, x, y) is equivalent to log.Printf(f, Formatter(x), Formatter(y)).
func Logln(a ...interface{})Logln is a convenience wrapper for log.Printf.
Calling Logln(x, y) is equivalent to log.Println(Formatter(x), Formatter(y)), but each operand is formatted with "%# v".
Pdiff prints to p a description of the differences between a and b. It calls Printf once for each difference, with no trailing newline. The standard library log.Logger is a Printfer.
Print pretty-prints its operands and writes to standard output.
Calling Print(x, y) is equivalent to fmt.Print(Formatter(x), Formatter(y)), but each operand is formatted with "%# v".
Printf is a convenience wrapper for fmt.Printf.
Calling Printf(f, x, y) is equivalent to fmt.Printf(f, Formatter(x), Formatter(y)).
Println pretty-prints its operands and writes to standard output.
Calling Print(x, y) is equivalent to fmt.Println(Formatter(x), Formatter(y)), but each operand is formatted with "%# v".
Sprint is a convenience wrapper for fmt.Sprintf.
Calling Sprint(x, y) is equivalent to fmt.Sprint(Formatter(x), Formatter(y)), but each operand is formatted with "%# v".
Sprintf is a convenience wrapper for fmt.Sprintf.
Calling Sprintf(f, x, y) is equivalent to fmt.Sprintf(f, Formatter(x), Formatter(y)).
Package pretty imports 7 packages (graph) and is imported by 563 packages. Updated 2017-12-07. Refresh now. Tools for package owners.