主页 > 知识库 > 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语言程序设计有所帮助。

您可能感兴趣的文章:
  • go for range遍历二维数组的示例
  • golang中range在slice和map遍历中的注意事项
  • golang中for循环遍历channel时需要注意的问题详解
  • Go语言字典(map)用法实例分析【创建,填充,遍历,查找,修改,删除】
  • go语言遍历文件夹示例
  • Go语言for range(按照键值循环)遍历操作

标签:深圳 九江 本溪 运城 湘潭 楚雄 喀什 晋城

巨人网络通讯声明:本文标题《GO语言实现列出目录和遍历目录的方法》,本文关键词  语言,实现,列出,目录,和,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《GO语言实现列出目录和遍历目录的方法》相关的同类信息!
  • 本页收集关于GO语言实现列出目录和遍历目录的方法的相关信息资讯供网民参考!
  • 推荐文章