【发布时间】:2023-03-08 12:35:01
【问题描述】:
如何在 Go 中对 *sql.Rows 和 *sql.Row 使用一种解析(扫描)方法?
解析(扫描)方法使用一个代码解析一行
...
row := r.stmOne.QueryRow(id)
rows, err := r.stmOther.Query(ids, params)
parseRow(row, &item)
for rows.Next(){
parseRows(rows, &item)
}
...
func parseRows(row *sql.Rows, item *typeItem) error {
err := row.Scan(....) /// same
}
func parseRow(row *sql.Row, item *typeItem) error {
err := row.Scan(....) /// same
}
【问题讨论】:
-
当 row.Scan 已经这样做了,为什么还需要一个单独的解析函数?您想在 parseRow/parseRows 中添加哪些额外功能?