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函式來執行程式。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP