Go в примерах: Рекурсия (Recursion)

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

Следующий пример: Указатели (Pointers).