]> Cypherpunks repositories - gostls13.git/commitdiff
fmt: add an example for Errorf
authorianzapolsky <ianzapolsky@gmail.com>
Thu, 30 Aug 2018 18:57:16 +0000 (12:57 -0600)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 30 Aug 2018 19:40:13 +0000 (19:40 +0000)
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 <bradfitz@golang.org>
src/fmt/example_test.go
src/fmt/stringer_example_test.go [new file with mode: 0644]

index 2d17fc69c7970c9baa8d698e1f6f9f3a38d6c840..5797e48080710867312039fd4ad15a4e89d5533c 100644 (file)
@@ -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 (file)
index 0000000..c77e788
--- /dev/null
@@ -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)
+}