golang的文檔里面比較容易找到的一個方法是filepath.Walk,這個方法有個問題是會自動遞歸遍歷當(dāng)前目錄的子目錄,其實我們通常只是想得到一個目錄下面的文件列表,并不需要這么多的信息,同時這個方法代碼寫起來也比較多比較復(fù)雜,我們也沒有必要這么做。
如果僅僅是想獲取一個目錄下面的文件和文件夾的列表,有兩個比較簡單的方法
package main import ( "fmt" "io/ioutil" ) func main() { files, _ := ioutil.ReadDir("./") for _, f := range files { fmt.Println(f.Name()) } }
package main import ( "fmt" "path/filepath" ) func main() { files, _ := filepath.Glob("*") fmt.Println(files) // contains a list of all files in the current directory }
補充:golang獲取文件/目錄(包含下面的文件)的大小
func DirSize(path string) (int64, error) { var size int64 err := filepath.Walk(path, func(_ string, info os.FileInfo, err error) error { if !info.IsDir() { size += info.Size() } return err }) return size, err }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
標(biāo)簽:欽州 雞西 蘭州 梅河口 吐魯番 重慶 銅川 汕頭
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang 如何獲取文件夾下面的文件列表》,本文關(guān)鍵詞 golang,如何,獲取,文件夾,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。