使用filepath.Walk递归获取某个目录下的所有文件

5年以前  |  阅读数:2409 次  |  编程语言:Golang 
//GetAllFileIncludeSubFolder 递归获取某个目录下的所有文件
func GetAllFileIncludeSubFolder(folder string) ([]string, error) {
    var result []string

    filepath.Walk(folder, func(path string, fi os.FileInfo, err error) error {
        if err != nil {
            log.Println(err.Error())
            return err
        }

        if !fi.IsDir() {
            //如果想要忽略这个目录,请返回filepath.SkipDir,即:
            //return filepath.SkipDir
            result = append(result, path)
        }

        return nil
    })

    return result, nil
}

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8