斯金格
fmt.Stringer
接口需要一个方法,即满足 String() string
。string 方法定义该值的本机字符串格式,如果将值提供给任何 fmt
包格式化或打印例程,则该方法是默认表示形式。
package main
import (
"fmt"
)
type User struct {
Name string
Email string
}
// String satisfies the fmt.Stringer interface for the User type
func (u User) String() string {
return fmt.Sprintf("%s <%s>", u.Name, u.Email)
}
func main() {
u := User{
Name: "John Doe",
Email: "johndoe@example.com",
}
fmt.Println(u)
// output: John Doe <johndoe@example.com>
}