使用 fastwalk 遍历文件夹,包括子目录
问题: 如何在 go 中使用 fastwalk 遍历文件夹,包括子目录?以下代码中,walkfn 被标记为未定义:
package mainimport ( "fmt" "os" "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)}
登录后复制
答案: 定义之前变量的类型,并分配一个函数给 walkfn:
var walkFn func(path string, d fs.DirEntry, err error) errorwalkFn = func(path string, d fs.DirEntry, err error) error {// ......
登录后复制
解释:
在 := 完全结束之前,前面定义的变量都是未定义的。因此,在 walkfn 之前定义一个变量的类型,并为其分配一个函数,以使其在作为参数传递给 walk 之前可供使用。
以上就是如何在 Go 中使用 fastwalk 遍历文件夹,包括子目录,并解决 walkFn 未定义的问题?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2312381.html