我一直在想,如何在Go中简单地列出单个目录中的文件和文件夹.
我找到了filepath.Walk
个,但它会自动进入子目录,我不想这样.我所有的其他搜索都没有找到更好的结果.
我确信这个功能是存在的,但是真的很难找到.如果有人知道我应该go 哪里找,请告诉我.谢谢.
我一直在想,如何在Go中简单地列出单个目录中的文件和文件夹.
我找到了filepath.Walk
个,但它会自动进入子目录,我不想这样.我所有的其他搜索都没有找到更好的结果.
我确信这个功能是存在的,但是真的很难找到.如果有人知道我应该go 哪里找,请告诉我.谢谢.
您可以try 使用io/ioutil
包中的ReadDir函数.根据文件:
ReadDir读取由dirname命名的目录,并返回已排序目录条目的列表.
得到的切片包含os.FileInfo
种类型,它们提供了列出的here种方法.下面是一个基本示例,它列出了当前目录中所有内容的名称(包括文件夹,但没有特殊标记-您可以使用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())
}
}