package main import ( "io/ioutil" "log" "os" "fmt" ) func main() { files := scanDir("C:\\") for _, file := range files { fmt.Println(file) } } // 扫描当前目录下文件,不递归扫描 func scanDir(dirName string) []string { files, err := ioutil.ReadDir(dirName) if err != nil { log.Println(err) } var fileList []string for _, file := range files { fileList = append(fileList, dirName + string(os.PathSeparator) + file.Name()) } return fileList } // 递归扫描目录 func scanDirs(dirName string) []string { files, err := ioutil.ReadDir(dirName) if err != nil { log.Println(err) } var fileList []string for _, file := range files { fileList = append(fileList, dirName + string(os.PathSeparator) + file.Name()) if file.IsDir() { fileList = append(fileList, scanDir(dirName + string(os.PathSeparator) + file.Name())...) } } return fileList }