如何在查询路由器中使用多个参数

everybody! The question is: How to write multiple parameters in query router, so I can write one, two or more parameters like this:

  /applications/filter/?date=today
  /applications/filter/?status=true
  /applications/filter/?date=today&status=true

I tried this, but it does not work for single parameter, only for two:

router.HandleFunc("/applications/filter/", authMiddle.RequiresLogin(authContrl.FilterDateStatus())).
        Queries("date", "{date}", "status", "{status}").Methods("GET")

This is a little bit confusing in the beginning, but your route is always the same here:

  /applications/filter/?date=today
  /applications/filter/?status=true
  /applications/filter/?date=today&status=true

It is always /applications/filter/.

In that case you just need to map one route here. The handle func receives the request. Inside the request you can parse the url.

https://play.golang.org/p/op49nTJSlCP

Putting all together it could look like:

router.HandleFunc("/applications/filter/",func(w http.ResponseWriter,r *http.Request){
    // in production you should handle the errors!
    // I am just skipping this to keep the example simple
    u, _ := url.Parse(r.URL)
    v := u.Query()
    if _,ok := v[date]; ok {
        // do something with dae
    }
})