我们如何实现一个函数,该函数将返回 SQL 查询产生的所有行并将它们转换为dest接口数组(可能无法正常工作Scan)?
我假设目标数组必须作为函数的参数给出。但是,我仍然不知道我应该如何完成实施:
func GetAll(query string, dest interface{}) error {
rows, err := s.db.Query(query)
if err != nil {
return err
}
defer rows.Close()
for rows.Next() {
var destRow ??? /* do not have a type. using reflect.TypeOf(dest).Elem()? */
err := rows.Scan(&destRow)
if err != nil {
return err
}
dest = append(dest, destRow) /* would even compile? */
}
return nil
}
它看起来与json.Unmarshal实际必须做的没什么不同......
蛊毒传说
相关分类