30 lines
551 B
Go
30 lines
551 B
Go
|
// 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)
|
||
|
}
|