从行中获取 sql 行
Get sql rows from row
如何在 Go 中对 *sql.Rows
和 *sql.Row
使用一种解析(扫描)方法?
解析(Scan)方法使用一个代码解析一行
...
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
}
type RowScanner interface {
Scan(dest ...interface{}) error
}
func scanRowIntoItem(row RowScanner, item *typeItem) error {
err := row.Scan(...)
}
row := r.stmOne.QueryRow(id)
rows, err := r.stmOther.Query(ids, params)
scanRowIntoItem(row, &item)
for rows.Next(){
scanRowIntoItem(rows, &item)
}
如何在 Go 中对 *sql.Rows
和 *sql.Row
使用一种解析(扫描)方法?
解析(Scan)方法使用一个代码解析一行
...
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
}
type RowScanner interface {
Scan(dest ...interface{}) error
}
func scanRowIntoItem(row RowScanner, item *typeItem) error {
err := row.Scan(...)
}
row := r.stmOne.QueryRow(id)
rows, err := r.stmOther.Query(ids, params)
scanRowIntoItem(row, &item)
for rows.Next(){
scanRowIntoItem(rows, &item)
}