【学習kotlinシリーズ】ローカル関数

2017年6月2日

Qiitaでことりん学習帳を発売しています!

ローカル関数とは

ローカル関数とは関数内に設置する関数のこと。ローカル関数の使い所は、その関数内でしか使わないような関数など、スコープを制限したい時に使う。

ローカル関数の書き方

ローカル関数の書き方は特に変わったところはなく、関数内に関数を定義すればいい。

実際に書いてみる


// 3 * x + 2 を計算する関数
fun calculate(x: Int): Int {

    // ローカル関数
    fun local_calculate(a: Int, b: Int): Int {
        return a * x + b
    }
    
    return local_calculate(3, 2)
}


fun main(args: Array<String>){

    println(calculate(2))
}

今回の例だとあまりメリットが感じられないが、tailrecで末尾再帰などと組み合わせることで、効率化が図れる。