code: func (d *Database) ScanRow(rows *sql.Rows, dst interface{}) error {
  	// make sure we always close rows, even if there is a scan error
  	defer rows.Close()
  
  	if err := d.Scan(rows, dst); err != nil {
  		return err
  	}
  
  	return rows.Close()
  }
docs: // ScanRow scans a single sql result row into a struct.
  // It reads exactly one result row and closes rows when finished.
  // Returns sql.ErrNoRows if there is no result row.