再帰

Go の関数は再帰呼び出しをサポートしている。よくある階乗を求めるプログラムを見てみよう。

^o^ > go run fact.go
0 : 1
1 : 1
2 : 2
3 : 6
4 : 24
5 : 120
6 : 720
7 : 5040
8 : 40320
9 : 362880
10 : 3628800
11 : 39916800
12 : 479001600

func で定義した関数でなく匿名関数でも、先に関数を代入する変数を宣言しておけば、再帰呼び出しができる。

^o^ > go run fact2.go
0 : 1
1 : 1
2 : 2
3 : 6
4 : 24
5 : 120
6 : 720
7 : 5040
8 : 40320
9 : 362880
10 : 3628800
11 : 39916800
12 : 479001600

匿名関数については、また改めて書く。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です