Advertisement
Guest User

Untitled

a guest
Apr 28th, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. func PopulateData(r *sql.Rows) (result []interface{}) {
  2. cols, _ := r.Columns()
  3. columns := make([]interface{}, len(cols))
  4. columnsPtr := make([]interface{}, len(cols))
  5. for i, _ := range columns {
  6. columnsPtr[i] = &columns[i]
  7. }
  8. for r.Next() {
  9. item := make(map[string]string)
  10.  
  11. if err := r.Scan(columnsPtr...); err != nil {
  12. log.Fatal(err)
  13. }
  14. for i, colName := range cols {
  15. val := columnsPtr[i].(*interface{})
  16. if *val == nil {
  17. item[colName] = ""
  18. } else {
  19. item[colName] = Sprintf("%s", *val)
  20. }
  21. }
  22.  
  23. result = append(result, item)
  24. }
  25.  
  26. return result
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement