Non CS Guy but learning computer skills
db.Query => *Rows
Rows starts before the first row so we should use *Rows.next() for the first row. Also, we should close the connection after use. (defer *Rows.Close()).
The accepted function must have a signature func(http.ResponseWriter, *http.Request)
The standard router is, intentionally, to be simple, which does not accept wildcard/RegExp. Therefore, several routers/frameworks arise to aid.
mux.Vars(*http.Request) will look for query string variables from http.Request and parse them into a map.