Połącz bezwzględną ścieżkę i ścieżkę względną, aby uzyskać nową ścieżkę bezwzględną
Piszę program, w którym jeden ze składników musi być w stanie przejść ścieżkę, którą jest podany (na przykład/help/index.html
lub/help/
) i ścieżka względna oparta na tej lokalizacji (np../otherpage/index.html
lubsub/dir/of/help/
lubhelp2.html
) i wytworzyć bezwzględną ścieżkę implikowaną przez ścieżkę względną. Rozważ następujące drzewo katalogów.
/
index.html
content.txt
help/
help1.html
help2.html
Plikindex.html
zawiera link taki jakhelp/help1.html
. Program został przekazany/
lub/index.html
i łączy to zhelp/help1.html
zdobyć/help/help1.html
.
Podobnie plik/help/help1.html
ma link../content.txt
, z którego program musi wrócić/content.txt
. Czy istnieje rozsądny sposób, aby to zrobić?
Dziękuję Ci. :)
Edytować: Dziękuję Stephenowi Weinbergowi! Dla wszystkichz przyszłości, oto kod, którego użyłem.
func join(source, target string) string {
if path.IsAbs(target) {
return target
}
return path.Join(path.Dir(source), target)
}