Go語言程式:從絕對路徑獲取檔名


我們將使用Go語言的filepath和strings函式從絕對路徑中獲取檔名。絕對路徑以根目錄開頭,包含所有中間目錄。在第一種方法中,我們將使用filepath包的函式;在第二個示例中,我們將使用strings包的函式。

方法一:使用filepath包

此程式使用path/filepath包中的filepath.Base函式提取檔案的基名(即不包含目錄路徑的檔名)。然後在控制檯上顯示提取的檔名。

語法

filepath.Base()

使用path/filepath包中的**filepath.Base**函式來確定檔案路徑的基名。基名是指檔案路徑的最後一部分,不包括目錄和任何分隔符。

演算法

  • **步驟1** - 建立一個名為main的包,並在程式中宣告fmt(格式化包)和path/filepath包,其中main產生可執行程式碼,fmt幫助格式化輸入和輸出。

  • **步驟2** - 建立一個main函式,在這個函式中建立一個file_path變數,並將檔案路徑賦值給它。

  • **步驟3** - 使用filepath.Base函式從上面分配給變數的路徑中獲取檔名。

  • **步驟4** - 使用fmt.Println()函式在控制檯上列印檔名,其中ln表示換行。

示例

在這個例子中,我們將使用filepath.Base()函式來獲取檔名。

package main
import (
   "fmt"
   "path/filepath"
)

func main() { 
   file_path := "/path/to/myfile.txt" //assign the absolute path
   file_name := filepath.Base(file_path)  //use this built-in function to obtain filename
   fmt.Println(" The file Name from the absolute path is:", file_name)
}

輸出

The file Name from the absolute path is: myfile.txt

方法二:使用strings.TrimRight和strings.Split函式

此程式使用strings.TrimRight函式刪除檔案路徑中的任何尾部斜槓。使用Split函式將檔案路徑分割成不同的部分,並用斜槓分隔。然後訪問分割後的檔案路徑的最後一個元素來檢索檔名。

語法

func Split(str, sep string) []string

Split()函式用於透過提供的分隔符分割字串。此函式位於strings包中,它接受要分割的字串以及分隔符作為引數。然後,該函式返回最終的字串陣列作為結果。

strings.TrimRight

使用TrimRight函式刪除字串中指定的字元以及任何尾隨空格。

演算法

  • **步驟1** - 建立一個名為main的包,並在程式中宣告fmt(格式化包)和strings包,其中main產生可執行程式碼,fmt幫助格式化輸入和輸出。

  • **步驟2** - 建立一個main函式,在這個函式中建立一個名為file的變數,並將絕對路徑賦值給它。

  • **步驟3** - 在這一步中,使用TrimRight函式對file變數進行操作,以使用“/”作為輸入刪除任何尾隨斜槓。

  • **步驟4** - 使用Split函式獲取檔案的最後一個元件。

  • **步驟5** - 在控制檯上列印檔名。

  • **步驟6** - 使用fmt.Println()函式執行列印語句,其中ln表示換行。

示例

在這個例子中,我們將使用strings.Split和strings.TrimRight函式來執行程式。

package main
import (
   "fmt"
   "strings"
)

func main() {
   file := "/path/to/myfile.txt"  //assignthe variable an absolute path
   file_name := strings.TrimRight(file, "/")
   file_name = strings.Split(file_name, "/")[len(strings.Split(file_name, "/"))-1]
   fmt.Println("The File name from the absolute path is:", file_name) //print the filename
}

輸出

The file Name from the absolute path is: myfile.txt

結論

我們透過兩個例子執行了從絕對路徑獲取檔名的程式。在第一個例子中,我們使用了filepath.Base函式;在第二個例子中,我們使用了TrimRight和split函式來執行程式。

更新於:2023年2月22日

9K+ 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.