我一直在尝试找出如何简单地在Go中的单个目录中列出文件和文件夹。
我已经找到了filepath.Walk,但是它会自动进入子目录,这是我不想要的。我所有其他搜索都没有发现更好的结果。
filepath.Walk
我确定该功能存在,但确实很难找到。让我知道是否有人知道我应该去哪里。谢谢。
您可以尝试使用软件包中的ReadDir函数io/ioutil。根据文档:
io/ioutil
ReadDir读取以目录名命名的目录,并返回已排序目录条目的列表。
结果切片包含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()) } }