Hello everyone,
Please help me understand how use interfaces.  I need that from a JSON rows 
pulls the three parameters, count and unload data in CSV format with the 
columns Date, Revenue, Gold.


package main

import (
       "database/sql"
       "log"
      _"github.com/go-sql-driver/mysql"
       "compress/zlib"
       "os"
       "fmt"
       "bytes"
       "io"
       "encoding/json"
)

func main() {
  db, err := sql.Open("mysql", "name:password@tcp(127.0.0.1:port)/database")
     if err != nil {
        panic(err.Error())
     }
     defer db.Close()

      rows, err := db.Query(`SELECT data FROM user_stats ORDER BY 
created_at LIMIT 10`)
     if err != nil {
              log.Fatal(err)
      }
     defer rows.Close()

        for rows.Next() {
              var data []byte
              err := rows.Scan(&data)
              if err != nil {
                      log.Fatal(err)
              }
      
               type UserStatsData struct {
                    Date string `json:"d"`
                    Revenue float64 `json:"r"`
                    Gold int `json:"g"`
              }
              userStatsData := UserStatsData{}
              err = json.Unmarshal(data, &userStatsData)
              if err != nil {
                r, err := zlib.NewReader(bytes.NewReader(data))
                if err != nil {
                        log.Panicf("Cannot read archive %v", err);
                }
                io.Copy(os.Stdout, r)
                r.Close()
              }

        }
}


-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to