(この記事は Go by Example: Recursion を翻訳したものです。)
Goはrecursive functionをサポートしています。ここでは、古典的な階数の例をあげます。
package main
import "fmt"
// この関数は基礎である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