filepath.Clean() Function in Golang With Examples
Last Updated :
10 May, 2020
In Go language, path package used for paths separated by forwarding slashes, such as the paths in URLs. The filepath.Clean() function in Go language used to return the shortest path name equivalent to the specified path by purely lexical processing. Moreover, this function is defined under the path package. Here, you need to import the “path/filepath” package in order to use these functions.
This function applies the Below rules iteratively until no further processing can be done:
- It Replaces multiple Separator elements with a single one.
- If the specified path is an empty string, it returns the string “.”.
- It eliminates each . path name element (the current directory).
- It eliminates each inner .. path name element (the parent directory) along with the non-.. element that precedes it.
- It eliminates .. elements that begin a rooted path: that is, replace “/..” by “/” at the beginning of a path, assuming Separator is ‘/’.
Syntax:
func Clean(path string) string
Here, ‘path’ is the specified path.
Return Value: It returns the shortest path name equivalent to the specified path by purely lexical processing.
Example 1:
package main
import (
"fmt"
"path/filepath"
)
func main() {
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" ))
}
|
Output:
/Geeks
Geeks
Geeks
../../Geek/GFG
Example 2:
package main
import (
"fmt"
"path/filepath"
)
func main() {
fmt.Println(filepath.Clean( "" ))
fmt.Println(filepath.Clean( "." ))
fmt.Println(filepath.Clean( "///" ))
fmt.Println(filepath.Clean( "/.//" ))
fmt.Println(filepath.Clean( "/./" ))
fmt.Println(filepath.Clean( ":/" ))
}
|
Output:
.
.
/
/
/
:
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...