我正在编写一个程序,其中一个组件必须能够采用给定的路径(例如/help/index.html
,或/help/
)和基于该位置的相对路径(例如../otherpage/index.html
,或sub/dir/of/help/
,或help2.html
)并生成绝对路径由相对路径暗示。考虑以下目录树。
/
index.html
content.txt
help/
help1.html
help2.html
该文件index.html
包含一个链接,如help/help1.html
. 该程序通过/
or /index.html
,并将其与help/help1.html
get结合起来/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)
}