下面是一个查询users列表的函数:func ListUser(username string, offset, limit int) ([]*UserModel, uint64, error) { if limit == 0 {
limit = constvar.DefaultLimit
}
users := make([]*UserModel, 0) var count uint64
where := fmt.Sprintf("username like '%%%s%%'", username) //这个语句的作用是什么?
if err := DB.Self.Model(&UserModel{}).Where(where).Count(&count).Error; err != nil { return users, count, err
} if err := DB.Self.Where(where).Offset(offset).Limit(limit).Order("id desc").Find(&users).Error; err != nil { return users, count, err
} return users, count, nil}问题:上面代码中where := fmt.Sprintf("username like '%%%s%%'", username)这个语句的作用是什么?
1 回答
跃然一笑
TA贡献1826条经验 获得超6个赞
fmt.Sprintf
是格式化字符串并赋值给左边的where
其中两个%%
是fmt
语法的问题,在fmt
中%%
输出的结果是%
,所以这个语句可以认为等于where:= "username like %"+username+"%"
- 1 回答
- 0 关注
- 610 浏览
添加回答
举报
0/150
提交
取消