如果可能的话,Go的filepath.Walk
提前回归的习惯是什么?如何在Golang Walk中尽早终止?
我正在写一个函数来查找给定名称的嵌套目录。使用filepath.Walk
只要找到第一个匹配项,我就看不到终止树行走的方法。
func (*RecursiveFinder) Find(needle string, haystack string) (result string, err error) {
filepath.Walk(haystack, func(path string, fi os.FileInfo, errIn error) (errOut error) {
fmt.Println(path)
if fi.Name() == needle {
fmt.Println("Found " + path)
result = path
return nil
}
return
})
return
}
为什么不返回错误并让步行停止?你可以返回'io.EOF'来确保没有其他错误。 –
扩展为答案... –