This is a creation in Article, where the information may have evolved or changed.
Package Mainimport ("Encoding/csv" "FMT" "OS" "Path/filepath" "Container/list") var outputfilename string = " Filesname.csv "Func checkerr (err error) {if nil! = Err {panic (err)}}func GetFullPath (path String) string {Absolutepath, _: = FilePath. Abs (path) return Absolutepath}func printfilesname (path string) {fullPath: = GetFullPath (path) liststr: = list. New () filepath. Walk (FullPath, func (path string, fi os. FileInfo, err Error) error {if nil = = fi {return err}if fi. Isdir () {return nil}name: = fi. Name () if outputfilename! = Name{liststr.pushback (name)}return nil}) Outputfilesname (LISTSTR)}func Converttoslice ( Liststr *list. List) []string{sli: = []string{}for el:= liststr.front (); Nil! = El; el= el. Next () {SLI = append (SLI, El. Value. (string))} Return Sli}func outputfilesname (Liststr *list. List) {Files: = Converttoslice (LISTSTR)//sort. Stringslice (Files). Sort ()//Sort F, err: = OS. Create (OutputFileName)//f, err: = OS. OpenFile (OutputFileName, OS. O_append | Os. O_create, OS. Modeappend) Checkerr (err) defer F.closE () f.writestring ("\XEF\XBB\XBF") Writer: = csv. Newwriter (f) Length: = Len (files) for i:= 0; i < length; I++{writer. Write ([]string{files[i]})}writer. Flush ()}func main () {var path stringif len (OS). Args) > 1 {path = OS. Args[1]} else {path, _ = OS. GETWD ()}printfilesname (path) fmt. Println ("done!")}