función filepath.Clean() en Golang con ejemplos

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *