Stringers
类似java 中的toString
type Stringer interface {
String() string
}
Stringer是一种可以将自身描述为字符串的类型。fmt包(和许多其他包)寻找这个接口来打印值。
package main
import "fmt"
type Person struct {
Name string
Age int
}
func (p Person) String() string {
return fmt.Sprintf("%v (%v years)", p.Name, p.Age)
}
func main() {
a := Person{"Arthur Dent", 42}
z := Person{"Zaphod Beeblebrox", 9001}
fmt.Println(a, z)
}
// =============================
Arthur Dent (42 years) Zaphod Beeblebrox (9001 years)