当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO WalkDir用法及代码示例


GO语言"io/fs"包中"WalkDir"函数的用法及代码示例。

用法:

func WalkDir(fsys FS, root string, fn WalkDirFunc) error

WalkDir 遍历以根为根的文件树,为树中的每个文件或目录调用 fn,包括根。

访问文件和目录时出现的所有错误都由 fn 过滤:有关详细信息,请参阅 fs WalkDirFunc 文档。

这些文件按词法顺序遍历,这使得输出具有确定性,但需要 WalkDir 在继续遍历该目录之前将整个目录读入内存。

WalkDir 不跟随在目录中找到的符号链接,但如果 root 本身是符号链接,它的目标将被遍历。

例子:

package main

import (
	"fmt"
	"io/fs"
	"log"
	"os"
)

func main() {
	root := "/usr/local/go/bin"
	fileSystem := os.DirFS(root)

	fs.WalkDir(fileSystem, ".", func(path string, d fs.DirEntry, err error) error {
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(path)
		return nil
	})
}

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 WalkDir。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。