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))
}
输出结果:
酷客教程相关文章:
评论前必须登录!
注册