Golang : Query string with space symbol %20 in between




Problem :

You want to form URL that looks like this :

 https://example.com/query?keyword="golang lookup"

but your final URL looks like this :

 https://example.com/query?keyword="golang%20lookup"

How to get rid the %20 sign ?

Solution :

Use url.QueryEscape() function to escapes the string so it can be safely placed inside a URL query. For example :

 func TagSearch(tag string) string {
 return fmt.Sprintf("https://example.com/query?keyword=%s", url.QueryEscape(tag))
 }

References :

https://golang.org/pkg/net/url/#QueryEscape

  See also : Golang : Get query string value on a POST request





By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.


Advertisement