如何在不进入子目录的情况下迭代目录

假设我有以下目录结构:


RootDir

---SubDir1

------SubSubDir

---------file1

---------file2

---SubDir2

---SubDir3

---file3

---file4

我只想遍历 的内容RootDir(SubDir1, Subdir2, Subdir3, file3, file 4)并检查它是目录还是文件,而不像filepath.Walk那样进入子目录。


在Go图书馆有没有办法做到这一点?


编辑:


files, err := os.Open("c:\\Documents")

file, err := files.Readdir(0)


if err != nil {

    fmt.Printf("Error: %s\n", err)

}


for f := range file {

    fmt.Println(f.IsDir())

}

所以在这里我试图遍历 FileInfo,它是一个切片,并检查每个文件是否是一个目录,但我总是收到此错误:


f.IsDir undefined (type int has no field or method IsDir)


德玛西亚99
浏览 222回答 1
1回答

芜湖不芜

您可以通过打开目录来读取目录,os.Open返回*os.File的Readdir()方法有一个方法,该方法os.FileInfo为直接文件夹内容提供s,这些方法FileInfo有一个IsDir()方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go