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())
}
