一. 递归函数 定义 在函数体内调用自身函数 示例 func test(i int) { //todo test(j) } 注意 大量的递归调用容易导致程序栈内存耗尽(栈溢出) 栈溢出一般可以通过惰性求值的技术来解决:golang 的话可以使用 channel 和 goroutine 来实现惰性求值,举例如下 func generatenums() chan int { nums := make(chan int) num := 0 go func() { for { num++ num