package models import "log" type Role struct { RoleId int `db:"RoleId"` RoleName string `db:"RoleName"` ReadOnly bool `db:"ReadOnly"` Admin bool `db:"Admin"` } func QueryRoles() ([]Role, error) { var results []Role // Query database for role definitions rows, err := db.Queryx("SELECT * FROM roles") if err != nil { log.Printf("QueryRoles error executing sql record : '%s'\n", err) return results, err } else { // parse all the results into a slice for rows.Next() { var r Role err = rows.StructScan(&r) if err != nil { log.Printf("QueryRoles error parsing sql record : '%s'\n", err) return results, err } results = append(results, r) } log.Printf("QueryRoles retrieved '%d' results\n", len(results)) } return results, nil }