我正在编写一个程序,其中一个组件必须能够采用给定的路径(例如/help/index.html
, or /help/
)和基于该位置的相对路径(例如../otherpage/index.html
, or sub/dir/of/help/
, or help2.html
) 并生成相对路径隐含的绝对路径。考虑以下目录树。
/
index.html
content.txt
help/
help1.html
help2.html
文件index.html
包含一个链接,例如help/help1.html
。程序通过了/
or /index.html
,并将其与help/help1.html
to get /help/help1.html
.
同样,文件/help/help1.html
有链接../content.txt
,程序需要从中返回/content.txt
。有没有合理的方法来做到这一点?
谢谢。 :)
Edit:谢谢斯蒂芬·温伯格!为了所有人来自未来 http://xkcd.com/979/,这是我使用的代码。
func join(source, target string) string {
if path.IsAbs(target) {
return target
}
return path.Join(path.Dir(source), target)
}
The path.Join
当与path.Dir
应该做你想做的事。看http://golang.org/pkg/path/#example_Join http://golang.org/pkg/path/#example_Join一个交互式的例子。
path.Join(path.Dir("/help/help1.html"), "../content.txt")
这将返回/content.txt
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)