Go---fmt.Stringer内建接口

类似于Java中的toString,可以定制结构体的输出格式

官方接口的定义

type Stringer interface {
    
    
	String() string
}

使用

type User struct {
    
    
	name	string
	age 	int
	sex		string
}

// 实现接口
func (u *User) String() string {
    
    
	return fmt.Sprintf("name=%s,age=%d,sex=%s", u.name, u.age, u.sex)
}

func main() {
    
    
	u := &User{
    
    name: "张三", age: 18, sex: "男"}
	fmt.Println("fmt.Println(u):")
	fmt.Println(u)
	fmt.Println("fmt.Printf(\"%s\",u):")
	fmt.Printf("%s\n", u)
	fmt.Println("fmt.Printf(\"%v\", u):")
	fmt.Printf("%v\n", u)
}

猜你喜欢

转载自blog.csdn.net/weixin_52025712/article/details/121491084