Back

go - 一个函数的两个写法:return 空

发布时间: 2023-08-14 00:37:00

refer to: poe

例如,下面33行的方法,会return 39行的变量(该变量声明于34行)

42行的方法,则直接把42行尾部的 users拿过来,在43行中调用和赋值。这样45行就直接一个return就好了。

 33 func (u *Users) GetCalculationResults() ([]CalculationResults, error) {
 34   var calculationResults []CalculationResults
 35   err := db.Model(u).Preload("CalculationPlans").Where("user_id = ?", u.ID).Find(&calculationResults).Error
 36   if err != nil {
 37     return nil, err
 38   }
 39   return calculationResults, nil
 40 }
 41
 42 func GetUsers(pageNum int, pageSize int, maps interface{}) (users []Users) {
 43   db.Where(maps).Where("is_admin = false").Offset(pageNum).Limit(pageSize).Find(&users)
 44
 45   return
 46 }

也就是说,42行的代码,也可以这样写:

 42 func GetUsers(pageNum int, pageSize int, maps interface{}) (users []Users) {
       var users []Users
 43   db.Where(maps).Where("is_admin = false").Offset(pageNum).Limit(pageSize).Find(&users)
 44
 45   return users
 46 }

Back