Go 修改 struct 的打印信息,类似于 python __str__

Laurel-rao · · 1015 次点击
```golang type X struct { Name string Age int } func (x X) String() string { return fmt.Sprintf("String 名字:%s,年龄:%d", x.Name, x.Age) } func (x X) GoString() string { return fmt.Sprintf("GoString 名字:%s,年龄:%d", x.Name, x.Age) } func main() { x := X{ Name: "小明", Age: 20, } fmt.Println(x) fmt.Printf("%v\n", x) fmt.Printf("%#v\n", x) } ``` 最后输出 ``` String 名字:小明,年龄:20 String 名字:小明,年龄:20 GoString 名字:小明,年龄:20 ```
#1