Mi piacerebbe utilizzare path.Dir()
su Unix e Windows con una directory specifica della piattaforma. Si prega di dare un'occhiata al codice:golang: cross platform 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`))
}
Emette
path.Dir("a/b/c"): a/b
path.Dir("c:\foo\bar.exe"): .
mi piacerebbe ottenere per la seconda chiamata al path.Dir()
(finestre) qualcosa come
c:\foo
E ' possibile dire a path.dir()
di utilizzare i separatori di Windows per il mio programma in esecuzione su Windows? O devo sempre convertire i backslash \
per inoltrare le barre (/
)? Qual è la strategia preferita qui?
Vale la pena notare che la panoramica pacchetto per 'percorso' afferma che è per i percorsi di barra separati e 'path/percorsofile' è specifico per os. Inoltre, se necessario, filepath.ToSlash() e filepath.FromSlash() possono essere utilizzati per convertire da e separati da barre e specifici per OS. –
@RunningWild Un buon consiglio, grazie. Io, in quanto madrelingua, ho pensato che "i percorsi separati dalla barra" possono significare entrambi (barre rovesciate e avanti). Ora lo so meglio. – topskip