package main import ( "fmt" "io" "log" "os" ) func main() { dirTree(os.Stdout, ".", true) } func dirTree(output io.Writer, currDir string, printFile bool) error { recursionDirTree(currDir) return nil } // todo Разобраться с log, err.Error func recursionDirTree(currDir string) { fileObj, err := os.Open(currDir) defer fileObj.Close() if err != nil { log.Fatalf("Could not open %s: %s", currDir, err.Error()) } files, err := os.ReadDir(fileObj.Name()) if err != nil { log.Fatalf("Could not read dir names in %s: %s", currDir, err.Error()) } var filesMap map[string]os.FileInfo = map fmt.Printf("%T\n", files[0]) fmt.Println(files) }