Le Go par l'exemple: Récursivité

Go supporte la récursivité Voici l’exemple classique de la factorielle.

package main
import "fmt"

Cette fonction fact s’appelle elle-même jusqu’à ce qu’elle atteigne le cas de base, 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

Exemple suivant: Pointeurs.