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,
请问应该如何修改呢?
谢谢

阅读 3.2k
1 个回答
    var walkFn func(path string, d fs.DirEntry, err error) error
    walkFn = func(path string, d fs.DirEntry, err error) error {
           //......
    }

在 := 完全结束之前,前面定义的变量都是未定义。所以里面的递归就未定义了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题