为了账号安全,请及时绑定邮箱和手机立即绑定

go语言这个语句表示什么意思?

go语言这个语句表示什么意思?

森林海 2018-12-16 08:57:55
下面是一个查询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+"%"

查看完整回答
反对 回复 2018-12-16
  • 1 回答
  • 0 关注
  • 595 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信