gpt4 book ai didi

go - filepath.Walk() - 我可以提供关于哪些目录不能行走的规则吗?

转载 作者:IT王子 更新时间:2023-10-29 01:08:17 36 4
gpt4 key购买 nike

我正在使用 Go 1.7rc1 编写 GoLang 应用程序。

现在我想找到特定路径下的所有go文件。除此之外,我不想在某些目录上行走..例如..隐藏目录,如.git

有没有办法为 Walk() 提供一些规则?或者.. 是否有不同的库提供这些功能?

现在这是我的代码:

func visit(path string, f os.FileInfo, err error) error {
fmt.Printf("Visited: %s\n", path)
return nil
}

func main() {
filepath.Walk(path,visit)
}

如有任何有关此问题的信息,我们将不胜感激。谢谢!

最佳答案

您可以通过返回错误 filepath.SkipDir 来跳过目录从您的访问功能。

这是跳过 .git 目录的方法:

func visit(path string, f os.FileInfo, err error) error {
if f.IsDir() && f.Name() == ".git" {
return filepath.SkipDir
}
fmt.Printf("Visited: %s\n", path)
return nil
}

需要测试 f.IsDir() 以避免跳过包含名为“.git”的普通文件的目录的其余部分。

关于go - filepath.Walk() - 我可以提供关于哪些目录不能行走的规则吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38294216/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com