16.آموزش GO با مثال(بازگشتی ها)

گو از توابع بازگشتی پشتیبانی میکند. اینجا یه مثال کلاسیک فاکتوریل رو بررسی میکنیم.

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

<<تابع بستار----------------------------------اشاره گرها>>