Is there a way in Go to combine URL paths similarly as we can do with filepaths using
For example see e.g. Combine absolute path and relative path to get a new absolute path.
When I use
path.Join("http://foo", "bar"), I get
See in Golang Playground.
The function path.Join expects a path, not a URL. Parse the URL to get a path and join with that path:
u, err := url.Parse("http://foo") u.Path = path.Join(u.Path, "bar.html") s := u.String() // prints http://foo/bar.html
If you are combining more than the path (scheme or host for example) or the string is more than the path (it includes a query string for example), then use ResolveReference.
Answered By – Bayta Darell
Answer Checked By – Senaida (GoLangFix Volunteer)