将Map传递给返回a的函数,filepath.WalkFunc
然后将其传递给filepath.Walk
.它是一个类似于构造函数的东西.
func visit(map Map) filepath.WalkFunc { return func(path string, f os.FileInfo, err error) error { // do something with map fileName := f.Name() if !f.IsDir() && strings.Contains(strings.ToLower(fileName), "myfile") { df := parseFile(path) fmt.Printf("Visited: %s [%x], %s, %s\n", df.FilePath) } return nil } } func WalkDir(path string) { err := filepath.Walk(path, visit(map)) fmt.Printf("filepath.Walk() returned %v\n", err) }