我一直试图弄清楚如何在 Go 中简单地列出单个目录中的文件和文件夹。
我找到了filepath.Walk,但它会自动进入子目录,这是我不想要的。我所有的其他搜索都没有好转。
filepath.Walk
我确信这个功能存在,但真的很难找到。如果有人知道我应该在哪里看,请告诉我。谢谢。
您可以尝试使用包中的ReadDir函数io/ioutil。根据文档:
io/ioutil
ReadDir 读取由 dirname 命名的目录并返回已排序的目录条目列表。
生成的切片包含os.FileInfo类型,这些类型提供此处列出的方法。这是一个基本示例,它列出了当前目录中所有内容的名称(包含文件夹但未特别标记 - 您可以使用该IsDir()方法检查项目是否为文件夹):
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()) } }