我知道ioutil.ReadDir,os.filePath但没有一个以广度优先方式遍历目录。我的方法是调用ioutil.ReadDir根目录的所有内容并将其附加到一个切片中。然后我遍历内容并检查它是否为IsDir[]真,如果为真,则递归调用该函数。
package main
import (
"io/ioutil"
"os"
)
var files []string
var path string
func appendFiles(root string) {
fileInfo, err := ioutil.ReadDir(root)
if err != nil {
return
}
for _, file := range fileInfo {
files = append(files, file.Name())
}
for _, file := range fileInfo {
fileStat, _ := os.Stat(file.Name())
if fileStat.Mode().IsDir() {
// path = path + "/" + file.Name()
appendFiles(file.Name())
}
}
}
func main() {
appendFiles(".")
}
万千封印
相关分类