首页 > 文章列表 > Go中的列表目录

Go中的列表目录

golang
214 2023-03-08

问题内容

我一直在试图弄清楚如何简单地列出 Go 中单个目录中的文件和文件夹。

我找到了filepath.Walk,但它会自动进入子目录,这是我不想要的。我所有的其他搜索都没有好转。

我确信这个功能是存在的,但是真的很难找到。如果有人知道我应该看哪里,请告诉我。谢谢。

正确答案

您可以尝试使用包中的ReadDir函数io/ioutil。根据文档:

ReadDir 读取由 dirname 命名的目录并返回已排序的目录条目列表。

生成的切片包含类型,这些类型提供此处os.FileInfo列出的方法。这是一个基本示例,列出了当前目录中所有内容的名称(包括文件夹但没有特别标记

您可以使用该方法检查项目是否为文件夹):IsDir()

package main

import ( "fmt" "io/ioutil" "log" )

func main() { files, err := ioutil.ReadDir("./") if err != nil { log.Fatal(err) }

  for _, f := range files {
          fmt.Println(f.Name())
  }

}