一直以为生成好看的文件目录是一项通用的功能,最近在找相关的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 表示文件操作出现的错误


【主函数】 

这里写的就比较简单了,只是将上面封装的函数填充了一下


当然如果有更好的工具, 或者更好的写法, 也希望大家能够在评论区多多提出.