みつのーと

頑張ってます・・・

Goの関数オブジェクトで再帰呼び出しする

型宣言付きで関数オブジェクトの変数を前方宣言しておけば再帰呼び出しが出来る

package main

import "fmt"

func main() {
    var factorial func(n int) int
    factorial = func(n int) int {
        if n == 1 {
            return 1
        }
        return n * factorial(n-1)
    }

    fmt.Println(factorial(5))
}

Go、基本的に良い感じだけど、三項演算子無かったり定数配列宣言出来なかったり、ちょこちょこ鬱陶しい感じもしなくもない

おわり(*・ω・)ノシ