當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。