现在我使用Walk浏览我的文件夹,我想在扫描时过滤一些文件夹。
err := filepath.Walk("/home", func(path string, f os.FileInfo, err error) error {
...
})
文件夹结构为:
home
/ | \
a b c
我可以制作一些例外列表,即filepath.Walk 不扫描文件夹a
吗?也就是说,我不希望文件夹a
中的任何文件添加到我的扫描结果中。
答案 0 :(得分:4)
来自WalkFuc
的文档:
如果返回错误,则处理停止。唯一的例外是,如果path是一个目录,并且该函数返回特殊值SkipDir,则会跳过该目录的内容,并在下一个文件中继续照常处理。
当filepath.Walk
是您要跳过的目录时,只需将传递给filepath.SkipDir
的函数返回path
。