En el lenguaje Go, el paquete de ruta se usa para rutas separadas por barras inclinadas, como las rutas en las URL. La función filepath.Clean() en el lenguaje Go solía devolver el nombre de la ruta más corta equivalente a la ruta especificada mediante un procesamiento puramente léxico. Además, esta función se define en el paquete de ruta. Aquí, debe importar el paquete «ruta/ruta de archivo» para usar estas funciones.
Esta función aplica las siguientes reglas de forma iterativa hasta que no se puede realizar más procesamiento:
- Reemplaza múltiples elementos Separator con uno solo.
- Si la ruta especificada es una string vacía, devuelve la string «.».
- Elimina cada uno. elemento de nombre de ruta (el directorio actual).
- Elimina cada elemento de nombre de ruta interno .. (el directorio principal) junto con el elemento que no es .. que lo precede.
- Elimina .. elementos que comienzan una ruta raíz: es decir, reemplaza “/..” por “/” al principio de una ruta, asumiendo que el Separador es ‘/’.
Sintaxis:
func Clean(path string) string
Aquí, ‘ruta’ es la ruta especificada.
Valor devuelto: Devuelve el nombre de la ruta más corta equivalente a la ruta especificada mediante un procesamiento puramente léxico.
Ejemplo 1:
// Golang program to illustrate the usage of // filepath.Clean() function // Including the main package package main // Importing fmt and path/filepath import ( "fmt" "path/filepath" ) // Calling main func main() { // Calling the Clean() function fmt.Println(filepath.Clean("/GFG/./../Geeks")) fmt.Println(filepath.Clean("GFG/../Geeks")) fmt.Println(filepath.Clean("..GFG/./../Geeks")) fmt.Println(filepath.Clean("gfg/../../../Geek/GFG")) }
Producción:
/Geeks Geeks Geeks ../../Geek/GFG
Ejemplo 2:
// Golang program to illustrate the usage of // filepath.Clean() function // Including the main package package main // Importing fmt and path/filepath import ( "fmt" "path/filepath" ) // Calling main func main() { // Calling the Clean() function fmt.Println(filepath.Clean("")) fmt.Println(filepath.Clean(".")) fmt.Println(filepath.Clean("///")) fmt.Println(filepath.Clean("/.//")) fmt.Println(filepath.Clean("/./")) fmt.Println(filepath.Clean(":/")) }
Producción:
. . / / / :
Publicación traducida automáticamente
Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA