我正在使用 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/