A už je to i na rootu...

Osobně doporučuji používat jen knihovny, které by se daly nazvat spíš helpery nebo nadstavbou, než frameworkem a které umožňují fungovat spolu s net/http.
Prvním z nich by byl router. Osobně používám Chi, ale pokud jsou potřeba regulární výrazy pro parametry v URL, tak je potřeba použít Gorilla router. Ze základních věci pro middleware používám mix Chi (id, IP, panic), Gorilla (sessions, cookies, websockety) a net/http. A pro rendrování JSON a templatů používám renderer z Chi. Pro embeding statických dat pak go-bindata.
Gorilla je léty prověřená sada knihoven, Chi router je sice relativně nový, ale hojně používaný, všude využívá Context a hlavně nemění parametry a použití HandlerFunc, takže nezavádí nic nového a fungují i všechny standardní návody na internetu (třeba pro testování). Podobně všechny middleware mají standardní tvar
func middleware(next http.Handler) http.Handler