toolsgolang.org/x/tools/internal/fastwalk Index | Files

package fastwalk

import "golang.org/x/tools/internal/fastwalk"

Package fastwalk provides a faster version of filepath.Walk for file system scanning tools.

Index

Variables

var ErrSkipFiles = errors.New("fastwalk: skip remaining files in directory")

ErrSkipFiles is a used as a return value from WalkFuncs to indicate that the callback should not be called for any other files in the current directory. Child directories will still be traversed.

var ErrTraverseLink = errors.New("fastwalk: traverse symlink, assuming target is a directory")

ErrTraverseLink is used as a return value from WalkFuncs to indicate that the symlink named in the call may be traversed.

Functions

func Walk

func Walk(root string, walkFn func(path string, typ os.FileMode) error) error

Walk is a faster implementation of filepath.Walk.

filepath.Walk's design necessarily calls os.Lstat on each file, even if the caller needs less info. Many tools need only the type of each file. On some platforms, this information is provided directly by the readdir system call, avoiding the need to stat each file individually. fastwalk_unix.go contains a fork of the syscall routines.

See golang.org/issue/16399

Walk walks the file tree rooted at root, calling walkFn for each file or directory in the tree, including root.

If fastWalk returns filepath.SkipDir, the directory is skipped.

Unlike filepath.Walk:

Source Files

fastwalk.go fastwalk_portable.go

Version
v0.1.10
Published
Mar 15, 2022
Platform
js/wasm
Imports
6 packages
Last checked
6 hours ago

Tools for package owners.