package main import "fmt" func main() { /** 递归:可以简单理解为自己调自己 优点:逻辑比循环更清晰 注意:使用递归函数要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据 结构实现的。每当进入一个函数调用,栈就会加一层栈。每当函数返回,栈就会减少一层。 由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。 FILO: first input last output */ n := 10 fmt.Println(factorial(n)) fmt.Println(getMultiple(n)) } //用递归实现阶乘计算 func factorial(n int) (result int){ if(n == 0){ return 1 } result =n * factorial(n-1) return } //用for循环实现阶乘计算 func getMultiple(num int) (result int){ result = 1 for i := 1; i <= num; i++ { result *= i } return }
go语言编程之递归
最新推荐文章于 2023-05-31 12:23:30 发布