filepath.WalkDir()
是 Go 语言标准库中 path/filepath
包提供的一个函数,用于遍历指定目录下的所有文件和子目录。
使用到了回调函数。WalkDir()里面使用到了递归调用。
filepath.WalkDir()
通过回调函数将具体执行逻辑与遍历过程本身解耦,使得开发者可以在回调函数中实现自定义的逻辑,如过滤特定类型的文件、处理文件内容等。
要实现框架和处理逻辑解耦,可以使用回调函数。
package main
import (
"fmt"
"io/fs"
"path/filepath"
)
func visit(path string, d fs.DirEntry, err error) error {
if err != nil {
return err // 如果有错误发生,返回错误
}
fmt.Println(path) // 打印当前遍历到的目录或文件的路径
return nil
}
func main() {
root := "./" // 指定要遍历的根目录
err := filepath.WalkDir(root, visit)
if err != nil {
fmt.Println("error walking the path:", err)
return
}
}