golang递归遍历文件夹

1、标准库

import "path/filepath"

var fileList []string
func walkFunc(path string, info os.FileInfo, err error) error {
//fmt.Println(path)
if !info.IsDir() {
fileList = append(fileList, path)
}
return nil
}
filepath.Walk("D:\\nginx\\e.djbx.com\\nginxlog\\", walkFunc)
fmt.Println(len(fileList))

2、递归

var fileList []string
func GetAllFile(pathname string) error {
rd, err := ioutil.ReadDir(pathname)
for _, fi := range rd {
if fi.IsDir() {
//fmt.Printf("[%s]\n", pathname+"\\"+fi.Name())
GetAllFile(pathname + fi.Name() + "\\")
} else {
//fmt.Println(fi.Name())
fileList = append(fileList, pathname + fi.Name())
}
}
return err
}
posted @ 2020-02-25 01:38  飞晨信息  阅读(1589)  评论(0)    收藏  举报