package main import ( "fmt" ) // 定义一个结构体,它内嵌了 fmt.Stringer 接口 type MyStruct struct { Name string fmt.Stringer // 嵌入接口 } // 实现 fmt.Stringer 接口(让 MyStruct 自己成为 Stringer) func (m MyStruct) String() string { return fmt.Sprintf("MyStruct{Name: %s}", m.Name) } func main() { // 创建一个 MyStruct 实例 ms := MyStruct{Name: "HelloKitty"} // 调用 String() 方法(它自己实现了 fmt.Stringer) fmt.Println(ms.String()) // 也可以把它当作 fmt.Stringer 使用 var s fmt.Stringer = ms fmt.Println(s.String()) }