
如何在 go 中使用 fastwalk
fastwalk 是一个 go 库,用于高效地遍历文件夹及其子目录。它有一个 walk 函数,需要一个配置和一个回调函数 walkfn 来执行。
问题:
在使用 fastwalk 时,出现 "undefined: walkfn" 的错误。如何定义正确的 walkfn 函数?
Python v2.4版chm格式的中文手册,内容丰富全面,不但是一本手册,你完全可以把她作为一本Python的入门教程,教你如何使用Python解释器、流程控制、数据结构、模板、输入和输出、错误和异常、类和标准库详解等方面的知识技巧。同时后附的手册可以方便你的查询。
答案:
walkfn 函数必须在 := 语句结束后定义。可以使用以下修改后的代码来修复错误:
func main() {
conf := fastwalk.Config{
Follow: false,
}
var data_temp []string
var walkFn func(path string, d fs.DirEntry, err error) error // 定义 walkFn
walkFn = func(path string, d fs.DirEntry, err error) error {
if err != nil {
return nil
}
if d.IsDir() {
data_temp = append(data_temp, path+"\\")
return fastwalk.Walk(&conf, path, walkFn)
}
data_temp = append(data_temp, path)
return nil
}
_ := fastwalk.Walk(&conf, "文件夹路径", walkFn)
fmt.Println(data_temp)
}这样,fastwalk.walk() 函数将使用正确定义的 walkfn 回调函数。









