当前位置: 首页 > 知识库问答 >
问题:

golang 如何使用fastwalk?

汝岳
2023-08-21

遍历文件夹,包括子目录

以下是简化的代码:

// "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个答案

丁阎宝
2023-08-21
    var walkFn func(path string, d fs.DirEntry, err error) error    walkFn = func(path string, d fs.DirEntry, err error) error {           //......    }

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

 类似资料:
  • 问题内容: 它在下面被称为 我的理解是,我们首先锁定接收器s(这是Stat类型),然后如果计数器确实存在,则将其添加。 问题: Q1:为什么我们需要锁定它?甚至是什么意思? 问题2:-这是否会锁定整个接收器或仅锁定Stat类型的counters字段? 问题3:-这是否会锁定平均值字段? 问题4:为什么要使用?我以为通道是处理Golang中并发的首选方法? 问题5:这是什么。为什么在这种情况下我们需

  • 问题内容: 我一直在玩Go的XML包,看不到以下代码有什么问题。 上面的代码运行无误,并打印到终端: 该结构似乎是空的,但是我看不到为什么它没有填充XML数据。 问题答案: 您的程序接近完成,但是需要指定更多上下文来匹配XML文档。 您需要修改字段标签,以帮助指导XML绑定贯穿您的 结构到您的结构: 根据的文档,第七项在此处适用: 如果XML元素包含名称与格式为“ a”或“ a> b> c”的标记

  • 问题内容: 如果对http请求的响应是带有cookie的重定向(http代码302), 您如何指示Go客户使用收到的Cookie跟踪新位置? 在CURL中,可以通过以下方式轻松设置客户端: 您如何在Go中做到这一点? 问题答案: 使用Go 1.1,您可以使用。 这是一个工作示例:

  • 问题内容: 我正在寻找如何使用golang从Kubernetes集群中的Pod获取日志的解决方案。我看过“ https://github.com/kubernetes/client- go ”和“ https://godoc.org/sigs.k8s.io/controller- runtime/pkg/client ”,但听不懂如何将它们用于此目的。除了日志外,我在获取K8S中的Pod或任何其他

  • 我正在寻找如何使用Golang从Kubernetes集群中的一个pod获取日志的解决方案。我查看了“https://github.com/kubernetes/client-go”和“https://godoc.org/sigs.k8s.io/controller-runtime/pkg/client”,但不理解如何将它们用于此目的。在K8S中,除了日志之外,我没有任何问题可以获取pod或任何其他

  • 问题内容: 我有一台具有通过https运行的rest API的服务器。我想在我的应用程序中调用此rest api,该应用程序在不同的端口中运行,但是由于这是通过https进行的,因此 我有2个文件pulic_key.pem和private_key可用于验证证书。使用golang发送休假请求时如何验证证书?我正在发送休息请求。这就是我现在忽略证书的操作。 问题答案: 您需要将证书的CA添加到传输中,