当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Golang filepath.Clean()用法及代码示例


Go语言中的路径包,用于通过正斜杠分隔的路径,例如URL中的路径。 Go语言中的filepath.Clean()函数用于通过纯词法处理返回与指定路径等效的最短路径名。此外,此函数在路径包下定义。在这里,您需要导入“path/filepath”包才能使用这些函数。

此函数迭代地应用以下规则,直到无法进行进一步处理为止:

  • 它用一个替换多个Separator元素。
  • 如果指定的路径为空字符串,则返回字符串“.”。
  • 它消除了每个。路径名元素(当前目录)。
  • 它消除了每个内部..路径名元素(父目录)以及在其前面的non ..元素。
  • 它消除了..元素开始于根路径:即,在分隔符为“ /”的情况下,在路径的开头用“/”替换“/..”。

用法:

func Clean(path string) string

在此,‘path’是指定的路径。

返回值:通过纯词法处理,它返回与指定路径等效的最短路径名。



范例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")) 
}

输出:

/Geeks
Geeks
Geeks
../../Geek/GFG

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

输出:

.
.
/
/
/
:



相关用法


注:本文由纯净天空筛选整理自Kanchan_Ray大神的英文原创作品 filepath.Clean() Function in Golang With Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。