在 Go 中有没有办法像使用文件路径一样组合 URL 路径path.Join()?
path.Join()
当我使用时path.Join("http://foo", "bar"),我得到http:/foo/bar.
path.Join("http://foo", "bar")
http:/foo/bar
参见Golang Playground。
函数 path.Join 需要一个路径,而不是一个 URL。解析 URL 以获取路径并加入该路径:
u, err := url.Parse("http://foo") u.Path = path.Join(u.Path, "bar.html") s := u.String() // prints http://foo/bar.html
playground example
如果您组合的不仅仅是路径(例如方案或主机)或字符串多于路径(例如它包括查询字符串),则使用ResolveReference。