Go 递归函数

Go 递归函数,递归函数虽然是一个简单的概念,却也是一个功能强大的编程元素。递归函数是不断调用自己直到满足特定条件的函数。要在函数中实现递归,可将调用自己的代码作为终止语句中的返回值。

func feedMe(portion int, eaten int) int {
eaten = portion + eaten
if eaten >= 5 {
fmt.Printf("I'm full! I've eaten %d\n", eaten)
return eaten
}
fmt.Printf("I'm still hungry! I've eaten %d\n", eaten)
return feedMe(portion, eaten)
}

在这个示例中,最重要的是函数体的最后一行,它没有返回值,而是调用自己,这样将再次执行这个函数。通常,递归函数不断调用自己,直到满足特定条件。在这个示例中,如果变量eaten不小于5,函数将不再调用自己并返回。

如下程序演示了一个不断调用自己直到满足特定条件的函数。

 package main

 import "fmt"

 func feedMe(portion int, eaten int) int {
  eaten = portion + eaten
  if eaten >= 5 {
   fmt.Printf("I'm full! I've eaten %d\n", eaten)
   return eaten
  }
  fmt.Printf("I'm still hungry! I've eaten %d\n", eaten)
  return feedMe(portion, eaten)
 }

 func main() {
  fmt.Println(feedMe(1, 0))
 }

输出结果:
Go 递归函数

酷客教程相关文章:

赞(0)

评论 抢沙发

评论前必须登录!