• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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语言异常处理机制panic和recover分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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