go 递归读取目录中所有文件和目录 读取当前目录的文件和目录

 基础语法  2023-06-30  admin  542  731

递归读取目录中所有文件和目录

// ReadDirAll 递归读取目录中所有文件和目录
func ReadDirAll(path string) ([]string, error) {
	var files []string
	err := filepath.Walk(path, func(path string, info os.FileInfo, err error) error {
		if err != nil {
			return err
		}
		if !info.IsDir() {
			files = append(files, path)
		}
		return nil
	})
	if err != nil {
		return nil, err
	}
	return files, nil
}

只读取当前目录的文件和目录

// ReadDirCurrent 只读取当前目录的文件和目录
func ReadDirCurrent(path string) ([]string, []string, error) {
    var files, dirs []string
    dir, err := os.Open(path)
    if err != nil {
       return nil, nil, err
    }
    defer dir.Close()

    fileInfos, err := dir.Readdir(0)
    if err != nil {
       return nil, nil, err
    }

    for _, fileInfo := range fileInfos {
       if fileInfo.IsDir() {
          dirs = append(dirs, fileInfo.Name())
       } else {
          files = append(dirs, fileInfo.Name())
       }
    }

    return files, dirs, nil
}


如果文章对您有帮助,点击下方的广告,支持一下作者吧!

相关推荐


go 递归读取目录,并生成树形结构的数据

go 递归读取目录,并生成树形结构的数据//读取目录中的所有文件,如果是目录则递归读取,生成结构化的树形struct packagemain import( "encoding/json" "fmt" "os" "path/filepath" ) //TreeNode文件的树形结构体 ty

go语言生成ssl网站证书

在go的x509包下有go定义的证书的结构packagemain import( "crypto/ecdsa" "crypto/elliptic" "crypto/rand" "crypto/x509" "crypto/x509/pkix" "encoding

Ghostscript pdf转图片的常用方法

Ghostscript是PostScript®语言和PDF文件的解释器。它可以根据GNU GPL Affero许可证获得,也可以从Artifex Software,Inc.获得商业使用许可。它已经积极开发了30多年,在此期间已经移植到多个不同的系统。Ghostscript由PostScript解释器层和图形库组成。https://www.ghostscript.com/ gswin64c.exe

php 判断远程文件是否存在

php 判断远程文件是否存在if(!function_exists('check_remote_file_exists')){ /** *判断远程文件是否存在. *@param$urlstringhttp或https开头的绝对地址 *@returnstring *@Date:2020-07-3116:47:06 *@Author:centphp.com */ fun