目錄夾遍訪是非常常見的需求,以下透過 Go 語言的 filepath.Walk 進行目錄夾的檔案遍訪。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
package main import ( "fmt" "os" "path/filepath" ) func main() { var files []string root := "C:\\" err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { if false == info.IsDir(){ files = append(files, path) // fmt.Println(path) } return nil }) if err != nil { panic(err) } for _, file := range files { fmt.Println(file) } } |
以上程式於第13行位置定義掃描目標目錄的根目錄(Root Path),程式會從root path 往下進行檢查。
在第 16 行判斷是否為目錄夾名稱或者是檔案,如果是檔案則將路徑儲存於files的陣列變數當中。
最終在以 for-loop 將儲存的檔案路徑輸出至Console。
文章標籤
全站熱搜