为什么在Go中打印结构时调用String()String方法?
下面是示例代码:为什么在Go中打印结构时调用String()String方法?,go,Go,下面是示例代码: package main import ( "fmt" ) type Foo struct {} func (Foo) String() string { return "String() called" } func main() { f := Foo{} fmt.Printf("%#v | \"%v\"",f,f) } 输出:main.Foo{}|“String()调用” String()String方法是由struct类型返回的默
package main
import (
"fmt"
)
type Foo struct {}
func (Foo) String() string {
return "String() called"
}
func main() {
f := Foo{}
fmt.Printf("%#v | \"%v\"",f,f)
}
输出:main.Foo{}|“String()调用”
String()String
方法是由struct
类型返回的默认方法吗?,因为fmt
就是这样实现的。你可以在这里了解更多:谢谢@mkopriva,这个链接:也回答了我的问题。