更简单,使用 path/filepath :
path/filepath
package main import ( "fmt" "log" "path/filepath" ) func main() { files, err := filepath.Glob("*") if err != nil { log.Fatal(err) } fmt.Println(files) // contains a list of all files in the current directory }
你可以尝试使用 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()) } }
ioutil.ReadDir 是一个很好的发现,但如果你点击并查看源代码,你会看到它调用方法 os.File的Readdir 。如果你对目录顺序没问题并且不需要排序列表,那么这个Readdir方法就是你所需要的。
ioutil.ReadDir