在Go 中高效列出目錄內容
程式設計師經常遇到需要在Go 中列出特定目錄中的文件和文件夾的情況。然而,駕馭包環境可能具有挑戰性。本文解決了這項要求並提供了解決方案。
filepath.Walk 函數雖然有用,但可能不是在不深入子目錄的情況下列出目錄內容的最佳選擇。解決方案在於 os 套件和 ReadDir 函數。
如官方文件所述,ReadDir「讀取指定目錄,傳回所有按檔案名稱排序的目錄條目」。結果是 os.DirEntry 類型的切片。
這是一個利用 ReadDir 函數的簡單範例:
package main import ( "fmt" "os" "log" ) func main() { entries, err := os.ReadDir("./") if err != nil { log.Fatal(err) } for _, e := range entries { fmt.Println(e.Name()) } }
此程式碼遍歷目前目錄並列印所有條目的名稱,包括檔案和資料夾。請注意,資料夾沒有特別標記。為了區分兩者,您可以利用 os.DirEntry 類型提供的 IsDir() 方法。
以上是如何在 Go 中有效率地列出目錄內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!