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