为了账号安全,请及时绑定邮箱和手机立即绑定

结合绝对路径和相对路径以获得新的绝对路径

结合绝对路径和相对路径以获得新的绝对路径

Go
ibeautiful 2021-05-02 09:49:54
我正在编写一个程序,其中的一个组件必须能够采用给定的路径(例如/help/index.html或/help/)和基于该位置的相对路径(例如../otherpage/index.html或sub/dir/of/help/或help2.html)并产生绝对路径由相对路径暗示。考虑以下目录树。/index.htmlcontent.txthelp/    help1.html    help2.html该文件index.html包含一个链接,如help/help1.html。程序通过/或/index.html,并将其与help/help1.htmlget组合/help/help1.html。同样,该文件/help/help1.html具有链接../content.txt,程序需要从该链接返回/content.txt。有合理的方法可以做到这一点吗?谢谢你。:)编辑:谢谢斯蒂芬·温伯格!对于未来的每个人,这是我使用的代码。func join(source, target string) string {    if path.IsAbs(target) {        return target    }    return path.Join(path.Dir(source), target)}
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

Stephen的回答是正确的,但我想添加一些内容以节省将来的读者一些时间:


您应该注意路径包中的函数假定分隔符为/。使用上面的示例时,.由于使用的Windows的文件路径,因此我一直获取输出\。


如果您不操作URL,请考虑使用使用操作系统目录分隔符的文件路径包。


例如,在Windows上运行时:


path.Dir("C:\\Users\\Darren\\Desktop\\file.txt")

filepath.Dir("C:\\Users\\Darren\\Desktop\\file.txt")

返回值:


.

C:\Users\Darren\Desktop


查看完整回答
反对 回复 2021-05-17
  • 2 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信