如您所见,这些功能仅在keys []int和keys []*int(以及名称)上有所不同。
func (db *myDB) QueryWithKeys(keys []int) ([]*models.Player) {
var players = make([]*models.Player, len(keys))
_ := db.Model(&players).Where("id in (?)", pg.In(keys)).Select()
// several other equal code here
return players
}
func (db *myDB) QueryWithPointerKeys(keys []*int) ([]*models.Player) {
var players = make([]*models.Player, len(keys))
_ := db.Model(&players).Where("id in (?)", pg.In(keys)).Select()
// several other equal code here
return players
}
有没有办法避免这种代码重复?
杨魅力
慕标5832272
慕的地6264312
随时随地看视频慕课网APP
相关分类