golang 如何使用fastwalk?
遍历文件夹,包括子目录
以下是简化的代码:
// "github.com/charlievieth/fastwalk"
func main() {
conf := fastwalk.Config{
Follow: false,
}
var data_temp []string
walkFn := func(path string, d fs.DirEntry, err error) error {
if err != nil {
return nil
}
if d.IsDir() {
data_temp = append(data_temp, path + "\\")
return fastwalk.Walk(&conf, path, walkFn)
}
data_temp = append(data_temp, path)
return nil
}
_ := fastwalk.Walk(&conf, "文件夹路径", walkFn)
fmt.Println(data_temp)
}
报错: undefined: walkFn
我不清楚如何定义一个正确的walkFn,请问应该如何修改呢?谢谢
回复
1个回答

test
2024-06-28
var walkFn func(path string, d fs.DirEntry, err error) error
walkFn = func(path string, d fs.DirEntry, err error) error {
//......
}
在 := 完全结束之前,前面定义的变量都是未定义。所以里面的递归就未定义了。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容