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.htmllub/help/) i ścieżka względna oparta na tej lokalizacji (np../otherpage/index.htmllubsub/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.htmli łą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)
}

questionAnswers(2)

yourAnswerToTheQuestion