I have been powering SPA with go backend, and found gorilla mux [0] to be quite reliable for years.

- [0] https://github.com/gorilla/mux

Or if you can live with slightly fewer features (and an additional param for your handlers): https://github.com/julienschmidt/httprouter

Appears to be faster, but I guess the difference wouldn't be noticeable until you start doing some pretty heavy stuff.