定义
type User struct {
Username string `json:"username"`
Age int `json:"age"`
}
func (t *User) SetUsername(username string) *User {
t.Username = username
return t
}
func (t *User) SetAge(age int) *User {
t.Age = age
return t
}
func (t *User) GetUsername() string {
return t.Username
}
func (t *User) GetAge() int {
return t.Age
}
// 定义一个用于构建 User 的函数
func CreateUser() *User {
// return &User{} 方式 1
return new(User) // 方式 2
}
使用方式
user := CreateUser().SetUsername("Tom").SetAge(18)
fmt.Println(user.GetUsername())
fmt.Println(user.GetAge())
总结
使用此方式可以降低使用者的学习坡度 并且可以提高程序的 可用性
PS: 可以与 interface 配合使用 使 程序可扩展性更高
评论区