golang stringer
时间: 2023-11-20 11:06:15 浏览: 231
Stringer是Go语言中的一个接口,用于描述可以将自身表示为字符串的类型。该接口定义了一个方法String(),返回类型为string。在fmt包中,以及其他许多包中,都使用Stringer接口来打印值的字符串表示形式。
在Go中,可以通过实现Stringer接口的String()方法来定制对象的输出。例如,可以定义一个Person结构体,并为其实现String()方法,以便在打印时按照自定义的格式输出对象的信息。
以下是一个示例代码:
```
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)
```
这里的输出是通过Stringer接口实现的,使用了Person结构体的String()方法来定制打印输出的格式。
阅读全文