如果可能的話,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'來確保沒有其他錯誤。 –
擴展爲答案... –