golang fmt.Stringer 接口的使用 定制struct的格式化输出
在Go中Stringer接口也有此功能。Stringer接口定义在fmt包中,该接口包含String()方法。任何类型只要定义了String()方法,进行Print输出时,就可以得到定制输出。
Stringer接口定义如下:
type Stringer interface {
String() string
}
package main
import (
"fmt"
)
type Power struct{
age int
high int
name string
}
//指针类型
func (this *Power) String() string {
return fmt.Sprintf("age:%d, high:%d, name:%s", this.age, this.high, this.name)
}
func main() {
var i *Power = &Power{age: 10, high: 178, name: "NewMan"} //指针类型
fmt.Printf("%s\n", i)
fmt.Println(i)
fmt.Printf("%v", i)
}
原文链接:https://blog.csdn.net/lanyang123456/java/article/details/78178183