小编典典

Go中的列表目录

all

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

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

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


阅读 67

收藏
2022-05-19

共1个答案

小编典典

您可以尝试使用包中的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())
    }
}
2022-05-19