回答

收藏

在 Go 中列出目录

技术问答 技术问答 215 人阅读 | 0 人回复 | 2023-09-12

我一直在努力弄清楚如何 Go 简单列出单个目录中的文件和文件夹。( h2 V) X/ X5 d, @; y
我找到了filepath.Walk,但它会自动进入子目录,这是我不想要的。我所有的其他搜索都没有改善。
5 x# {) s% T5 y" f我相信这个功能存在,但真的很难找到。如果有人知道我应该在哪里看,请告诉我。非常感谢。
% h0 k. S3 w0 Z' q0 ?                                                                7 p; e* r2 U' N$ B' }" M
    解决方案:                                                               
( |6 j5 p; {# q                                                                您可以尝试使用包中的包ReadDir函数io/ioutil。根据文档:8 W4 E4 L( P7 v* T7 g( n' j# R
ReadDir 读取由 dirname 命名目录并返回已排序的目录条目列表。2 ?5 V0 P  k# I4 [7 ~8 j
生成的切片包括os.FileInfo类型,这些类型提供此处列出的方法。这是一个基本示例,它列出了当前目录中所有内容的名称(包含文件夹但未特别标记 - 你可以用这个IsDir()检查项目是否为文件夹:
1 ]) q& |% `" O( M' x0 U3 \- O  }[code]package mainimport  "fmt"    "io/ioutil"     "log")func main()      files,err := ioutil.ReadDir("./")    if err != nil              log.Fatal(err)   }    for _,f := range files                  fmt.Println(f.Name()code]
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则