一、递归函数的调用流程

package main //必须

import "fmt"

func test(a int) {
if a == 1 { //函数终止调用的条件,非常重要
fmt.Println("a = ", a)
return //终止函数调用
} //函数调用自身
test(a - 1) fmt.Println("a = ", a)
} func main() {
test(3)
fmt.Println("main")
}

执行结果:

a =  1
a = 2
a = 3
main

  

分析流程如下:

  

最新文章

  1. 5805 NanoApe Loves Sequence(想法题)
  2. mysql utf8编码
  3. 详解 Windows 8.1 下的按流量计费的使用
  4. JAVA jdbc(数据库连接池)学习笔记(二) SQL注入
  5. 【面试题003】c数组做为参数退化的问题,二维数组中的查找
  6. HW6.25
  7. bvp4c--语法
  8. MAC终端显示隐藏文件,关闭显示
  9. Python之实现一个简易计算器
  10. ubuntu14.04 安装tar.gz文件
  11. LoadImage()使用
  12. 第四章 android 命名规范和编码规范
  13. PAT1004
  14. 1218: [HNOI2003]激光炸弹
  15. Java面试题库及答案解析
  16. python——几种截图对比方式!
  17. python maximum recursion depth exceeded 处理办法
  18. 安卓手机如何快速投屏到windows(10/8.1/7)电脑上
  19. mybatis-generator 代码自动生成工具包
  20. Eclipse Memory Analyzer

热门文章

  1. Redis实战(一)
  2. 【WPF】淡入淡出切换页面
  3. 《java虚拟机》----线程安全和锁优化
  4. STL容器 -- Set
  5. Spring框架 AOP面向切面编程(转)
  6. Linux下Makefile学习笔记
  7. Visitor设计模式
  8. Linux通过FTP上传文件到服务器
  9. code forces 505A
  10. mysql总是无故退出, InnoDB: mmap(68681728 bytes) failed; errno 12