一直以为生成好看的文件目录是一项通用的功能,最近在找相关的Golang的脚本。结果一直没有找到。王德发?害,算了。自己撸一手了。
要生成目录结构主要相关涉及以下要点
【主要思想】深度遍历(本次做法采用了递归的方式)
【相关要点】文件目录相关操作、文件读写相关操作
PS:
1、该链接中只提供了大家可供参考思路的代码,没有做好足够的模块化和相关优化,请多多见谅
2、大家可以到github上面下载源码,进行裁剪
3、下面只提供局部函数截图,仅供参考
一、文件目录模块
【判断是否是文件夹】 IsDir
input :path 表示你所需要判断的文件名称(全路径),是否是目录
output :bool 表示是否是文件目录
【获取文件目录下所有文件的名称】 GetAllDir
input :rootPath 表示需要生成目录结构文件的根目录
output :string 表示生成对应结构目录的字符串
(这里采用了递归,出口是当文件不是目录)
【格式化文件开头】 FormatPathPattern
input :fullPath 表示文件的全路径
output :string 输出需要的文件格式(这里定义你想要用的文件目录结构样式,我比较喜欢'|-- '的方式隔开, 定义为了tabStr, 大家可以用自己喜欢的样式来表示
【获取文件层数】 GetCountOfFileFolder
input :fullPathName 表示文件的全路径
output :int 表示这个在所需要获取的目录根级下, 第几个层级(因为我想要作成不同层级用不同数量的缩进来表示)
【全路径获取最后文件路径】 GetLastNameOfPath
input :fullPathName 表示文件的全路径
output :string 表示全路径下, 当前文件/目录的名字
二、文件操作模块
【检查或创建文件】 CheckOrCreateFile
input :fileName 想要生成的文件路径(绝对, 相对都可以, 按照自己喜欢, 后面到对应的目录下找它就好)
output :error 表示文件操作出现的错误
【将内容添加到文件末尾】 AppendContentToFile
input :fileName 表示目标文件; content 表示需要添加的内容
output :error 表示文件操作出现的错误
【主函数】
这里写的就比较简单了,只是将上面封装的函数填充了一下
当然如果有更好的工具, 或者更好的写法, 也希望大家能够在评论区多多提出.