From d5c7abf73a3f65cb7d5b9c3193e59ac9e0729c7a Mon Sep 17 00:00:00 2001 From: ianzapolsky Date: Thu, 30 Aug 2018 12:57:16 -0600 Subject: [PATCH] fmt: add an example for Errorf The errors package has an example for Errorf, but the fmt package does not. Copy the Errorf example from errors to fmt. Move existing Stringer example into separate file, so as not to break the assumption that the entire file will be presented as the example. Change-Id: I8a210a69362017fa08615a8c3feccdeee8427e22 Reviewed-on: https://go-review.googlesource.com/132239 Reviewed-by: Brad Fitzpatrick --- src/fmt/example_test.go | 25 +++++++------------------ src/fmt/stringer_example_test.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 18 deletions(-) create mode 100644 src/fmt/stringer_example_test.go diff --git a/src/fmt/example_test.go b/src/fmt/example_test.go index 2d17fc69c7..5797e48080 100644 --- a/src/fmt/example_test.go +++ b/src/fmt/example_test.go @@ -8,24 +8,13 @@ import ( "fmt" ) -// Animal has a Name and an Age to represent an animal. -type Animal struct { - Name string - Age uint -} - -// String makes Animal satisfy the Stringer interface. -func (a Animal) String() string { - return fmt.Sprintf("%v (%d)", a.Name, a.Age) -} - -func ExampleStringer() { - a := Animal{ - Name: "Gopher", - Age: 2, - } - fmt.Println(a) - // Output: Gopher (2) +// The Errorf function lets us use formatting features +// to create descriptive error messages. +func ExampleErrorf() { + const name, id = "bueller", 17 + err := fmt.Errorf("user %q (id %d) not found", name, id) + fmt.Println(err.Error()) + // Output: user "bueller" (id 17) not found } func ExampleSprintf() { diff --git a/src/fmt/stringer_example_test.go b/src/fmt/stringer_example_test.go new file mode 100644 index 0000000000..c77e78809c --- /dev/null +++ b/src/fmt/stringer_example_test.go @@ -0,0 +1,29 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package fmt_test + +import ( + "fmt" +) + +// Animal has a Name and an Age to represent an animal. +type Animal struct { + Name string + Age uint +} + +// String makes Animal satisfy the Stringer interface. +func (a Animal) String() string { + return fmt.Sprintf("%v (%d)", a.Name, a.Age) +} + +func ExampleStringer() { + a := Animal{ + Name: "Gopher", + Age: 2, + } + fmt.Println(a) + // Output: Gopher (2) +} -- 2.48.1