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])
}
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-65487.html