Через mux.Vars вы можете извлечь только то, что в URL, т.е. части URL, а параметры нужно извлекать через r.URL.Query().Get("param_name")
Давайте разберём пример из реальной задачи.
В URL содержится английское название категории (chairs), а также параметры фильтров width, height.
https://domain.com/products/chairs?height=200&width=100
Т.е. нужно отобразить все товары из категории "стулья" (chairs), но не выше 200 и не шире 100, соответственно нам нужно получить и chairs из URL и параметры.
Роут будет таким в данном случае
r.HandleFunc("/products/{category_handle}", h.ShowProducts).Methods("GET")
А в обработчике будет уже вот так
// из извлекаем из URL категорию
vars := mux.Vars(r)
categoryHandle := vars["categoryHandle"]
// получаем параметры
height, _ := strconv.Atoi(r.URL.Query().Get("height"))
width, _ := strconv.Atoi(r.URL.Query().Get("width"))