گو از توابع بازگشتی پشتیبانی میکند. اینجا یه مثال کلاسیک فاکتوریل رو بررسی میکنیم.
package main import "fmt"
مثال fact
تابع خودش رو تا زمانی که به حالت (fact(0
برسه فراخوانی میکند.
func fact(n int) int { if n == 0 { return 1 } return n * fact(n-1) } func main() { fmt.Println(fact(7)) }
$ go run recursion.go 5040
<<تابع بستار----------------------------------اشاره گرها>>