main Package Import ( "FMT" "IO / ioutil" "log" ) FUNC the listFiles (String dirname, Level int) { // Level for storing current recursion level // generate layered space s: = "| - - " for I: = 0; I <Level; I ++ { S =" | "S + } fileInfos, ERR: = ioutil.ReadDir (dirname) IF ERR = nil {! log.Fatal (ERR) } for _, Fi : = Range fileInfos { IF fi.Name () == ".git" { Continue } filename: = dirname + "/" + fi.Name () fmt.Printf ( "% S% S \ n-", S, Fi .name ()) IF fi.IsDir () { // continue to traverse the directory fi listFiles (filename,level+1) } } } main FUNC () { dirname: = "C: \\ \\ Desktop the Users Administrator \\ \\ \\ Seven qxonlinebak profile \\" the listFiles (dirname, 0) }