golang 如何获取文件夹下面的文件列表

 更新时间:2021年05月07日 09:54:49   作者:解灵运  
这篇文章主要介绍了golang 获取文件夹下面的文件列表方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

golang的文档里面比较容易找到的一个方法是filepath.Walk,这个方法有个问题是会自动递归遍历当前目录的子目录,其实我们通常只是想得到一个目录下面的文件列表,并不需要这么多的信息,同时这个方法代码写起来也比较多比较复杂,我们也没有必要这么做。

如果仅仅是想获取一个目录下面的文件和文件夹的列表,有两个比较简单的方法

利用ioutil的ReadDir方法

package main 
import (
    "fmt"
    "io/ioutil"
)
 
func main() {
    files, _ := ioutil.ReadDir("./")
    for _, f := range files {
            fmt.Println(f.Name())
    }
}

利用filepath的Glob方法

package main  
import (
    "fmt"
    "path/filepath"
)
 
func main() {
    files, _ := filepath.Glob("*")
    fmt.Println(files) // contains a list of all files in the current directory
}

补充:golang获取文件/目录(包含下面的文件)的大小

看代码吧~

func DirSize(path string) (int64, error) {
 var size int64
 err := filepath.Walk(path, func(_ string, info os.FileInfo, err error) error {
  if !info.IsDir() {
   size += info.Size()
  }
  return err
 })
 return size, err
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Go基础教程系列之回调函数和闭包详解

    Go基础教程系列之回调函数和闭包详解

    这篇文章主要介绍了Go基础教程系列之回调函数和闭包详解,需要的朋友可以参考下
    2022-04-04
  • 使用go gin来操作cookie的讲解

    使用go gin来操作cookie的讲解

    今天小编就为大家分享一篇关于使用go gin来操作cookie的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Go语言排序算法之插入排序与生成随机数详解

    Go语言排序算法之插入排序与生成随机数详解

    从这篇文章开始将带领大家学习Go语言的经典排序算法,比如插入排序、选择排序、冒泡排序、希尔排序、归并排序、堆排序和快排,二分搜索,外部排序和MapReduce等,本文将先详细介绍插入排序,并给大家分享了go语言生成随机数的方法,下面来一起看看吧。
    2017-11-11
  • 深入探讨Go语言中的预防性接口为什么是不必要的

    深入探讨Go语言中的预防性接口为什么是不必要的

    在Go语言中,有一种从其他语言带来的常见模式:预防性接口,虽然这种模式在 Java 等语言中很有价值,但在Go中往往会成为反模式,本文我们就来深入探讨一下原因
    2025-01-01
  • gorm golang 并发连接数据库报错的解决方法

    gorm golang 并发连接数据库报错的解决方法

    今天小编就为大家分享一篇gorm golang 并发连接数据库报错的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 快速升级Go版本(几分钟就搞定了)

    快速升级Go版本(几分钟就搞定了)

    go现在的更新速度是非常的快啊,用着用着网上的教程就不配套了,下面这篇文章主要给大家介绍了关于快速升级Go版本的相关资料,文中介绍的方法几分钟就搞定了,需要的朋友可以参考下
    2024-05-05
  • golang通过node_exporter监控GPU及cpu频率、温度的代码

    golang通过node_exporter监控GPU及cpu频率、温度的代码

    node_exporter这个开源组件是配合prometheus收集主机操作系统层的metrics的常用组件,但是官方没有提供GPU卡的metrics的采集,今天通过本文给大家介绍golang通过node_exporter监控GPU及cpu频率、温度的相关知识,感兴趣的朋友一起看看吧
    2022-05-05
  • Go 使用Unmarshal将json赋给struct出错的原因及解决

    Go 使用Unmarshal将json赋给struct出错的原因及解决

    这篇文章主要介绍了Go 使用Unmarshal将json赋给struct出错的原因及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 在Go中创建随机的安全密码

    在Go中创建随机的安全密码

    今天小编就为大家分享一篇关于在Go中创建随机的安全密码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 一文详解Golang的函数特性

    一文详解Golang的函数特性

    函数是 Golang 中非常重要的组成部分之一,它们提供了代码的可重用性和组织性。在本文中,我们将深入了解 Golang 函数的多个方面,希望对大家有所帮助
    2023-04-04

最新评论