• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Golang > GO语言实现列出目录和遍历目录的方法

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

作者:shichen2014 字体:[增加 减小] 来源:互联网

shichen2014 通过本文主要向大家介绍了go语言遍历数组,go语言,go语言环境搭建,go语言程序设计,let it go 25种语言等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

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

具体示例代码如下:

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)
}</div>

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

</div>

您可能想查找下面的文章:

  • 深入理解Go语言中的数组和切片
  • Go语言中数组的基本用法演示
  • Go语言获取数组长度的方法
  • Go语言算法之寻找数组第二大元素的方法
  • Go语言创建、初始化数组的常见方式汇总
  • GO语言基础之数组
  • GO语言数组和切片实例详解
  • GO语言实现列出目录和遍历目录的方法

相关文章

  • 简单讲解Go程序中使用MySQL的方法
  • 在Go程序中实现服务器重启的方法
  • Go语言中使用gorm小结
  • Go语言计算两个经度和纬度之间距离的方法
  • 一步步教你编写可测试的Go语言代码
  • GO语言常用的文件读取方式
  • Go语言写入字符串到文件的方法
  • Centos下搭建golang环境及vim高亮Go关键字设置的方法
  • Ubuntu安装Go语言运行环境
  • Go语言多值替换的HTML模板实例分析

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • golang实现unicode转换为字符串string的方法
    • Centos下搭建golang环境及vim高亮Go关键字设置的方法
    • Go语言编程中字符串切割方法小结
    • Go语言实现类似c++中的多态功能实例
    • GO语言利用K近邻算法实现小说鉴黄
    • Go语言中使用gorm小结
    • Go语言对JSON进行编码和解码的方法
    • Go语言中的if条件语句使用详解
    • 深入分析golang多值返回以及闭包的实现
    • Go语言轻量级线程Goroutine用法实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有