Craig,
If you know what the table structure is ahead, it's trivial to do a normal scan and then return a map[string]interface{} form your scan. Beccause of this, I'm assuming that you have a situation where you're unaware of the table structure at runtime and your doing a "select *" all the time? If this is the case, databse/sql is not set up for this use case from what I see in the do, as driver.Value is not exported (
https://golang.org/src/database/sql/sql.go#L1615). With that said, I agree with the first response in that SO. Use sqlx (
https://godoc.org/github.com/jmoiron/sqlx#Row.MapScan)