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
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM