// Walk walks the file tree rooted at root, calling walkFn for each file or
// directory in the tree, including root. All errors that arise visiting files
// and directories are filtered by walkFn. The files are walked in lexical
// order, which makes the output deterministic but means that for very
// large directories Walk can be inefficient.
// Walk does not follow symbolic links.

Walk walks the file tree rooted at root, calling walkFn for each file or
directory in the tree, including root. All errors that arise visiting files
and directories are filtered by walkFn. The files are walked in lexical
order, which makes the output deterministic but means that for very
large directories Walk can be inefficient.
Walk does not follow symbolic links.
// Walk walks the file tree rooted at root calling walkFn for each file or // directory in the tree including root . All errors that arise visiting files // and directories are filtered by walkFn . The files are walked in lexical // order which makes the output deterministic but means that for very // large directories Walk can be inefficient . // Walk does not follow symbolic links .
func Walk(root string, walkFn WalkFunc) error {
	info, err := os.Lstat(root)
	if err != nil {
		return walkFn(root, nil, err)
	}
	return walk(root, info, walkFn)
}
func Walk ( root string , walkFn WalkFunc ) error { info , err := os . Lstat ( root ) if err != nil { return walkFn ( root , nil , err ) } return walk ( root , info , walkFn ) }
Walk walks the file tree rooted at root, calling walkFn for each file or
directory in the tree, including root.
Walk walks the file tree rooted at root calling walkFn for each file or directory in the tree including root .