Golang filepath.Clean() 函数及其示例
在 Go 语言中,path 包用于以正斜杠分隔的路径,例如 URL 中的路径。Go 语言中的 filepath.Clean() 函数用于通过仅使用词法处理返回与指定路径等效的最短路径名。此外,此函数在 path 包中定义。在此,您需要导入“path/filepath”包才能使用这些函数。
此函数反复应用以下规则,直到无法进一步处理为止:
- 用单个分隔符元素替换多个分隔符元素。
- 如果指定路径为空字符串,则返回字符串“。”。
- 消除每个 . 路径名称元素(当前目录)。
- 消除每个内部..路径名称元素(父目录)以及先于其的非..元素。
- 消除以根路径开始的..元素:即,假定 Separator 是“/”,则将“/..”替换为“/”。
语法:
func Clean(path string) string
在这里,’path’ 是指定的路径。
返回值: 它通过仅使用词法处理返回与指定路径等效的最短路径名。
示例1:
// Golang 程序演示
// filepath.Clean() 函数的用法
// 包含main包
package main
// 导入fmt和path/filepath
import (
"fmt"
"path/filepath"
)
// 调用main函数
func main() {
// 调用Clean()函数
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"))
}
输出:
/Geeks
Geeks
Geeks
../../Geek/GFG
示例2:
// Golang 程序演示
// filepath.Clean() 函数的用法
// 包含main包
package main
// 导入fmt和path/filepath
import (
"fmt"
"path/filepath"
)
// 调用main函数
func main() {
// 调用Clean()函数
fmt.Println(filepath.Clean(""))
fmt.Println(filepath.Clean("."))
fmt.Println(filepath.Clean("///"))
fmt.Println(filepath.Clean("/.//"))
fmt.Println(filepath.Clean("/./"))
fmt.Println(filepath.Clean(":/"))
}
输出:
.
.
/
/
/
:
极客教程