Golang实现递归对目录进行遍历

    技术2026-08-24  9

    Golang实现递归对目录进行遍历

    package main import ( "errors" "fmt" "io/ioutil" ) func GetAll(path string, files []string) ([]string, error) { read, err := ioutil.ReadDir(path) //读取文件夹 if err != nil{ return files, errors.New("文件夹不可读取") } // 如果是文件夹,进行递归处理 for _, fi := range read { if fi.IsDir(){ // 判断是否是文件夹 fullDir := path+"\\"+fi.Name() //构造新的路径 files = append(files, fullDir) //追加路径 files,_ = GetAll(fullDir, files) //文件夹递归 }else { fullDir := path+"\\"+fi.Name() //构造新的路径 files = append(files, fullDir) //追加路劲 } } return files,nil } func main() { path := "D:\\WorkDir" // 路径 files := []string{} // 数组字符串 files, _ = GetAll(path, files) // 抓取所有文件 for i:= 0; i< len(files);i++{ //打印 fmt.Println(files[i]) } }
    Processed: 0.009, SQL: 9