请问 model 里面的 func 什么情况下需要绑定 struct,什么情况下不需要绑定 struct 呢?
func
绑定 struct
框架、库
gin
gorm
未绑定 struct
代码
func GetUserByID(id int) (user User, err error) {
if err = dbConn.Where(User{ID: id}).Find(&user).Error; err != nil {
return
}
return
}
绑定 struct
代码
func (this *User) GetUserByID() (user User, err error) {
if err = dbConn.Where(User{ID: this.ID}).Find(&user).Error; err != nil {
return
}
return
}
问题
请问在写 model
方法的时候上述两种方式各自更适用于那种情况呢
其实真要说起来,
函数
与方法
并无太大区别。我认为你如果需要让某个结构体拥有专门的某个功能,则使用
方法
。你如果想让某个功能的泛用性更高一些,可以使用
函数
总结一下,我推荐(是推荐!!!)。在需要为单一结构体实现某功能时,选择
方法
。当你需要为不止一个结构体实现某功能时,选择函数
。此外,函数一般来说需要传入指针,但当你某个变量的值为指针时,你仅仅只需要传入变量名,但是这样不好的一点就是,不是很好区分。不如使用方法,可能更简洁更方便,看着更舒服。
以上为我个人建议,采取在于个人,我和你一样也在学习,希望我们都能学的更好!谢谢!