Erweitern Sie die Tilde zum Home-Verzeichnis

Ich habe ein Programm, das akzeptiert ein Ziel-Ordner, in dem Dateien erstellt werden. Mein Programm sollte in der Lage sein zu handhaben, absolute Pfade, als auch relative Pfade. Mein problem ist, dass ich nicht weiß, wie erweitern ~ auf das home-Verzeichnis.

Meine Funktion zur Erweiterung der destination sieht wie folgt aus. Wenn der Pfad angegeben ist die absolute macht es nichts sonst verbindet es den relativen Pfad mit dem aktuellen Arbeitsverzeichnis.

import "path"
import "os"

//var destination *String is the user input

func expandPath() {
        if path.IsAbs(*destination) {
                return
        }
        cwd, err := os.Getwd()
        checkError(err)
        *destination = path.Join(cwd, *destination)
}

Seit Weg.Join nicht erweitern ~ es funktioniert nicht, wenn der Benutzer geht so etwas wie ~/Downloads als Ziel.

Wie soll ich dies lösen, in einen cross-Plattform-Weg?

InformationsquelleAutor der Frage lukad | 2013-07-12

Schreibe einen Kommentar