Golang 递归遍历文件夹,获取所有文件列表
type FileInfo struct {
Name string // 文件名
Size int64 // 文件大小
Path string // 文件路径
}
// GetFileList 递归获取指定目录下的所有文件
func GetFileList(path string, fileList *[]FileInfo) {
files, _ := ioutil.ReadDir(path)
for _, file := range files {
if file.IsDir() {
GetFileList(path+file.Name()+`\`, fileList) // 递归调用
} else {
*fileList = append(*fileList, FileInfo{
Name: file.Name(),
Size: file.Size(),
Path: path + file.Name(),
})
}
}
}