当前位置: 首页 > 编程笔记 >

GO语言实现列出目录和遍历目录的方法

樊奇思
2023-03-14
本文向大家介绍GO语言实现列出目录和遍历目录的方法,包括了GO语言实现列出目录和遍历目录的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了GO语言实现列出目录和遍历目录的方法。分享给大家供大家参考。具体如下:

GO语言获取目录列表用 ioutil.ReadDir(),遍历目录用 filepath.Walk(),使用方法课参考本文示例。

具体示例代码如下:

package main

import (  "fmt"  "io/ioutil"  "os"  "path/filepath"  "strings" )

//获取指定目录下的所有文件,不进入下一级目录搜索,可以匹配后缀过滤。 func ListDir(dirPth string, suffix string) (files []string, err error) {  files = make([]string, 0, 10)

 dir, err := ioutil.ReadDir(dirPth)  if err != nil {   return nil, err  }

 PthSep := string(os.PathSeparator)  suffix = strings.ToUpper(suffix) //忽略后缀匹配的大小写

 for _, fi := range dir {   if fi.IsDir() { // 忽略目录    continue   }   if strings.HasSuffix(strings.ToUpper(fi.Name()), suffix) { //匹配文件    files = append(files, dirPth+PthSep+fi.Name())   }  }

 return files, nil }

//获取指定目录及所有子目录下的所有文件,可以匹配后缀过滤。 func WalkDir(dirPth, suffix string) (files []string, err error) {  files = make([]string, 0, 30)  suffix = strings.ToUpper(suffix) //忽略后缀匹配的大小写

 err = filepath.Walk(dirPth, func(filename string, fi os.FileInfo, err error) error { //遍历目录   //if err != nil { //忽略错误   // return err   //}

  if fi.IsDir() { // 忽略目录    return nil   }

  if strings.HasSuffix(strings.ToUpper(fi.Name()), suffix) {    files = append(files, filename)   }

  return nil  })

 return files, err }

func main() {  files, err := ListDir("D:\\Go", ".txt")  fmt.Println(files, err)

 files, err = WalkDir("E:\\Study", ".pdf")  fmt.Println(files, err) }

希望本文所述对大家的GO语言程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Python3遍历目录树实现方法,包括了Python3遍历目录树实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python3遍历目录树的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python3程序设计有所帮助。

  • X1.4.0新增 sp_scan_dir($pattern,$flags) 功能: 替代scan_dir的方法 参数: $pattern:检索模式 搜索模式 .txt,.doc; (同glog方法) $flags:返回模式 同glog方法 返回: 类型数组 使用方法: //扫描application目录 $files=sp_scan_dir('application/*');//返回applic

  • 本文向大家介绍Perl实现遍历目录例子,包括了Perl实现遍历目录例子的使用技巧和注意事项,需要的朋友参考一下 环境为windos,需要注意的两点: 1、默认activePerl下的采用的编码是gbk,所以需要将字符串转为gbk才不会显示乱码 2、遍历文件目录时,需要排除特殊的目录.和.. 完整的代码: 运行效果图:

  • 通过Entry的createReader方法可以创建DirectoryReader对象,而DirectoryReader对象的readEntries方法又可以读取出当前目录下的一级子目录和文件,依次类推就可以遍历整个目录。 下面我们来实践写一个遍历目录的函数。 首先通过chooseEntry方法获取Entry: chrome.fileSystem.chooseEntry({type: 'openD

  • 本文向大家介绍C#遍历子目录的方法,包括了C#遍历子目录的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#遍历子目录的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍GO语言实现简单的目录复制功能,包括了GO语言实现简单的目录复制功能的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了GO语言实现简单的目录复制功能。分享给大家供大家参考。具体实现方法如下: 创建一个独立的 goroutine 遍历文件,主进程负责写入数据。程序会复制空目录,也可以设置只复制以 ".xx" 结尾的文件。 严格来说这不是复制文件,而是写入新文件。因为这个程序是创建