回答

收藏

将 URL 路径与 path.Join() 结合

技术问答 技术问答 281 人阅读 | 0 人回复 | 2023-09-11

在 Go 有没有办法像使用文件路径一样组合 URL 路径path.Join()?' S+ D+ D7 X% ?( `( V
当我使用时path.Join("http://foo","bar"),我得到http:/foo/bar.
& `+ c0 \; k$ e2 P, K参见Golang Playground。
6 J; J$ ]( E: F3 a! U) m" J6 f                                                               
, o  e4 h( U) ]4 l    解决方案:                                                               
. {4 `% q0 H+ k$ @/ J# D! p8 h8 F                                                                函数 path.Join 需要一条路,而不是 URL。解析 URL 获取路径并添加路径:
6 _7 h2 m, s2 Z. E4 v" B7 d+ K
    u,err := url.Parse("http://foo")u.Path = path.Join(u.Path,"bar.html")s := u.String() // prints http://foo/bar.html
    0 {! d( {5 Z' j3 e- C. e
playground example3 N2 Q6 A) O! L( V0 c$ w
如果您不仅将路径(如方案或主机)或字符串与路径(如包括查询字符串)相结合,则使用ResolveReference。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则