Me gustaría utilizar path.Dir()
en Unix y Windows con un directorio específico de la plataforma. Por favor, eche un vistazo al código:golang: vía de plataforma cruzada.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`))
}
Esto da salida a
path.Dir("a/b/c"): a/b
path.Dir("c:\foo\bar.exe"): .
me gustaría llegar a la segunda llamada a path.Dir()
(ventanas) algo así como
c:\foo
¿Es posible decir path.dir()
para utilizar separadores de Windows para mi programa que se ejecuta en Windows? ¿O debería convertir siempre las barras inversas \
en barras diagonales (/
)? ¿Cuál es la estrategia preferida aquí?
Vale la pena señalar que la visión general del paquete de 'camino' indica que es para las rutas de barra separada y 'ruta/ruta de archivo' es específica del SO. Además, si lo necesita, filepath.ToSlash() y filepath.FromSlash() se pueden usar para convertir desde y hacia barras separadas y específicas de os. –
@RunningWild Buen consejo, gracias. Yo, como un hablante no nativo, asumí que "caminos separados por barras" puede significar ambos (barras invertidas y posteriores). Ahora sé mejor. – topskip