💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
### 获取目录 > **func ReadDir(dirname string)** > **返回 ([]os.FileInfo, error)** > dirname string 文件路径 > []os.FileInfo 文件名组成的数组 > error 错误返回 ``` package main import ( "fmt" "io/ioutil" ) // 获取E盘文件目录的文件名 func main() { dir, err := ioutil.ReadDir("E:\\") if err != nil { fmt.Println(err) } // num 变量可以用匿名函数 去掉索引 for num, file := range dir { //file.Name()函数 获取到文件名 fmt.Println(num, file.Name()) } } ``` ``` file.Name() 返回的 文件名 当然根据os.FileInfo定义可知 type FileInfo interface { Name() string //文件名 Size() int //文件长度(单位字节) Mode() FileMode //文件打开模式 ModTime() time.Time //文件修改时间 IsDir() bool //是否是文件夹 Sys() interface() //基础数据源 } ``` ``` package main import ( "fmt" "io/ioutil" ) // 获取文件名 和 文件夹名 func Data(dirPth string) error { dir, err := ioutil.ReadDir(dirPth) if err != nil { return err } for _, file := range dir { if file.IsDir() { fmt.Println("文件夹名:", file.Name()) } else { fmt.Println("文件名:", file.Name()) } } return nil } func main() { Data("E:\\flie") } ``` ### 获取目录及子目录所有文件 > func walk(root string, walkFn walkFunc) error > root string 传入路径 > walkFn walkFunc 功能函数 ``` package main import ( "fmt" "os" "path/filepath" ) // 获取目录下 所有文件名 func Data(dirPth string) { // 声明个变量 err := filepath.Walk(dirPth, func(path string, f os.FileInfo, err error) error { if f == nil { return err } if f.IsDir() { return nil } // 这里打印出 文件名 println(path) return nil }) if err != nil { fmt.Println(err) } } func main() { Data("E:\\flie") } 结果: E:\flie\1\1.txt E:\flie\2\2.txt E:\flie\3.txt ``` ``` // 这串玩意需要研究 err := filepath.Walk(dirPth,func(path string, info os.FileInfo, err error) error {     }) ```