Golang filepath.Clean() 函数及其示例

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(":/"))
} 

输出:

.
.
/
/
/
:

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程