Golang url builder

http://<IP>:port?api=fetchJsonData&arg1=val1&arg2=val2&arg3=val3.....&argn=valn

There’s already url.URL that handles that kind of things for you.

For http handlers (incoming requests) it’s a part of http.Request (access it with req.URL.Query()).

A very good example from the official docs:

u, err := url.Parse("http://bing.com/search?q=dotnet")
if err != nil {
    log.Fatal(err)
}
u.Scheme = "https"
u.Host = "google.com"
q := u.Query()
q.Set("q", "golang")
u.RawQuery = q.Encode()
fmt.Println(u)