下面是一個(gè)查詢users列表的函數(shù):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) //這個(gè)語句的作用是什么?
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)這個(gè)語句的作用是什么?
1 回答

躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
fmt.Sprintf
是格式化字符串并賦值給左邊的where
其中兩個(gè)%%
是fmt
語法的問題,在fmt
中%%
輸出的結(jié)果是%
,所以這個(gè)語句可以認(rèn)為等于where:= "username like %"+username+"%"
- 1 回答
- 0 關(guān)注
- 628 瀏覽
添加回答
舉報(bào)
0/150
提交
取消