实现思路:
使用ioutil.ReadDir将当前文件信息都读取完,并对目录进行遍历,当当前目录遍历时,如果发现某个文件是子文件夹,就使用回调,再对子目录调用ioutil.ReadDir读取所有的文件信息,以此进行实现将当前文件夹下所有的文件进行遍历

package mainimport ("fmt""io/ioutil""log"
)func main() {//listFiles(".", 0)
}func listFiles(dirName string, level int) {s := "|--"for i := 0; i < level; i++ {s = "|  " + s}fileInfos, err := ioutil.ReadDir(dirName)if err != nil {log.Fatal(err)}for _, file := range fileInfos {fileName := dirName + "/" + file.Name()// 无论是不是目录打印出当前文件名fmt.Printf("%s%s\n", s, fileName)// 要是当前文件是目录文件,就使用递归,调用listFiles遍历子目录if file.IsDir() {listFiles(fileName, level+1)}}
}

go语言中使用递归函数实现文件目录的遍历相关推荐

  1. maya_mel语言中多边形点的提取和遍历操作方法

    一.问题分析: 有老同事问我,向用maya mel语言为模型上的选择单独点,做沿着法向方向的移动.如下图: 并使用了如下代码操作单个定点,成功了,: string $pp[]; string $obj ...

  2. c语言递归函数检测回文,在C中使用递归函数的回文测试

    我试图编写用于测试字符串的程序,如果它是回文或不是,但我总是得到输出,因为它不是一个.我的代码有什么问题?在C中使用递归函数的回文测试 #include #include int is_palindr ...

  3. 对C语言中递归算法的分析

    C通过运行时堆栈支持递归函数的实现.递归函数就是直接或间接调用自身的函数.      许多教科书都把计算机阶乘和菲波那契数列用来说明递归,非常不幸我们可爱的著名的老潭老师的<C语言程序设计> ...

  4. C语言中内联函数的作用 inline

    C语言中内联函数的作用 inline C语言中内联函数到底有什么作用? 试想一下,每当我们在假设就在主函数中调用另外一个函数的时候,那么这个函数就要入栈或者出栈,比如说下面的一个例子: 点击(此处)折 ...

  5. c语言中的关于数学问题的编程,C语言中具有代表性几种数学问题编程技巧探索.doc...

    C语言中具有代表性几种数学问题编程技巧探索 C语言中具有代表性几种数学问题编程技巧探索 [摘要]本文分析了C语言中几种常见的具有代表性的几类数学问题,从数学规律.语法结构分析.语句优化设计及应用方面, ...

  6. c语言什么是内联函数,C语言中内联函数inline的使用方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 来源一:比特网 来源二:东方锐智 在C++中,为了解决一些频繁调用的小涵数大量消耗栈空间或者是叫栈内存的问题,特别的引入了inline修饰符,表示为内联涵 ...

  7. 关于C语言中递归的一点点小问题

    最近准备复习考研,慢慢接触一些细节的小问题,可能绝大部分人都是知道的,这篇也就是简单地总结下,顺便更新下博客= =,可能为新手朋友们更好地理解递归. 关于c语言中递归函数调用时,递归函数中返回值的问题 ...

  8. C语言中递归什么时候能够省略return引发的思考:通过内联汇编解读C语言函数return的本质...

    C语言中递归什么时候能够省略return引发的思考:通过内联汇编解读C语言函数return的本质 事情的经过是这种,博主在用C写一个简单的业务时使用递归,因为粗心而忘了写return.结果发现返回的结 ...

  9. long在C语言中是非法字符吗,C程序设计实践——实验指导

    一.课程的总体目标和具体要求 总体目标: 利用C语言和程序设计方法编制程序,借助计算机解决问题的基本能力.(支撑毕业能力要求1)独立解决文本处理.数学上的一些问题,编写较规范化的代码.(支撑毕业能力要 ...

最新文章

  1. vsftpd的主配置文件是什么linux,linux下vsftpd配置文件选项详细说明
  2. php的webservice的wsdl的XML无法显示
  3. 经典文章之java 操纵Excel[转]
  4. 【小白学习keras教程】三、Kears中常见模型层Padding、Conv2D、MaxPooling2D、Flatten和Dense
  5. android view 镜像,Android 实现镜像效果
  6. Python教程和PyMySQL数据库导航
  7. BGP链路冗余使用直接接口和回环口分析
  8. 思科路由器 DHCP配置
  9. iOS开发之获取LaunchImage启动图
  10. Lazada新手开店费用有哪些、具体开店流程详解!
  11. 常用的控件样式风格设置(qss)——QtWidgets
  12. 数学基础知识总结 —— 1. 常用导数公式
  13. mysql怎么生成db文件_如何使mysql生成.db文件
  14. Nodejs—即时通讯
  15. cad剖切线的快捷键_Auto CAD2017剖切符号快捷键是什么呢?
  16. poi-tl导出word;自定义列表序号和表格宽度,表格合并,自定义标题,更新目录
  17. Loongson_2F/ 3A【tftp+u盘】方式安装系统(开机不认u盘)
  18. 请问肾阴虚吃什么药?饮食注意什么?还有桂附地黄丸是治肾阴虚还是治肾阳虚的?谢谢
  19. js 利用input实现复制
  20. leetcode 1646

热门文章

  1. 视频格式转换工具使用
  2. HD_2553N皇后问题
  3. poj 2397(二分+dp)
  4. 算法入门开灯问题,新做法
  5. windos10下编译opencv_4.0.1+opencv-contrib_4.0.1
  6. hdu 4503 湫湫系列故事——植树节
  7. 有关Java中json字符串与map的转换使用
  8. C#.NET 大型企业信息化系统 - 防黑客攻击 - SSO系统加固优化经验分享
  9. SharePoint 2013 Error - TypeError: Unable to get property 'replace' of undefined or null reference
  10. Hadoop视频教程6折 低达4.5折