package mainimport ("fmt")type People struct {Name string}func (p *People) String() string {return fmt.Sprintf("print: %v", p)//fmt会调用这里实现的String方法}func main() {p := &People{Name: "ss"}p.String()}
如果一个类型实现了 String方法,那么在调用fmt包打印该类型的值的时候,会直接使用该类型实现的String方法,因此会产生循环调用。
