文件 IO 处理是程序的基础功能,WEB 程序中通过文件 IO 实现附件的上传与下载。在 GO 中,有多种方式可以遍历文件目录,获取文件路径,本文从使用层面上论述这些函数。 预先准备一个包含子目录的目录,用于遍历测试: 一、filepath.Walk 函数 使用 filepath.Walk 函数可以很方便的遍历目录下的多级子文件和目录。 代码示例: func main() {rootPath := "./docs"_ = filepath.Walk(rootPath, func(path string, info os.FileInfo, err error) error {fmt.Printf("name: %s, isDir: %t, path: %s\n", info.Name(), info.IsDir(), path)return nil})} 输出结果: name: docs, isDir: true, path: ./docsname: admin, isDir: true, path: docs\adminname: admin_docs.go, isDir: false, path: docs\admin\admin_docs.goname: admin_swagger.json, isDir: false, path: docs\admin\admin_swagger.json name: admin_swagger.yaml, isDir: false, path: docs\admin\admin_swagger.yaml name: application.yaml, isDir: false, path: docs\application.yamlname: content, isDir: true, path: docs\c...