Ich mag würde path.Dir()
auf Unix und Windows mit einem plattformspezifischen Verzeichnis verwenden. Bitte werfen Sie einen Blick auf den Code:golang: Cross-Plattform-path.Dir
package main
import (
"fmt"
"path"
)
func main() {
fmt.Println(`path.Dir("a/b/c"): `, path.Dir("a/b/c"))
fmt.Println(`path.Dir("c:\foo\bar.exe"): `, path.Dir(`c:\foo\bar.exe`))
}
Diese gibt
path.Dir("a/b/c"): a/b
path.Dir("c:\foo\bar.exe"): .
Ich möchte für den zweiten Anruf zu path.Dir()
(Fenster) um etwas zu bekommen, wie
c:\foo
Ist es möglich, path.dir()
mitzuteilen, Windows-Trennzeichen für mein Programm zu verwenden, das auf Fenstern läuft? Oder sollte ich konvertieren immer die Schrägstriche \
Slashes (/
)? Was ist die bevorzugte Strategie hier?
Es ist erwähnenswert, dass die Paketübersicht für ‚Pfad‘ stellt fest, dass es für Schrägstriche getrennte Pfade und ‚path/filepath‘ ist os spezifisch. Wenn Sie es benötigen, können Sie mit filepath.ToSlash() und filepath.FromSlash() auch slash-separated und os-specific konvertieren. –
@RunningWild Guter Rat, danke. Ich, als ein Nicht-Muttersprachler, nahm an, dass "durch Schrägstriche getrennte Pfade" beides bedeuten kann (umgekehrte und vorwärts gerichtete Schrägstriche). Jetzt weiß ich es besser. – topskip