Kotlin芸術探求のパラメータと異常

1848 ワード

パラメータ伝達
デフォルトパラメータの使用
メソッドのパラメータにデフォルトのパラメータ値として値を設定できます.
fun reformat(str: String = "11",isTrue: Boolean = false){
    println(str)
    println(isTrue)
}

デフォルトのパラメータを使用すると、呼び出し時にパラメータを渡さなくてもいいです.
//      
reformat()

具名パラメータの使用
具名パラメータとは、パラメータ名を指定して付与することであり、パラメータを渡す際にいちいち対応することを考慮する必要がなく、またKotlinのパラメータ伝達の柔軟性により、パラメータを渡す際に曖昧さが生じやすく、その際に具名パラメータによって曖昧さを解消できるという利点がある.
//      ,         
reformat(isTrue = false,str = "a")

変長パラメータの使用
変長パラメータは1つのパラメータに複数の値を割り当てることができ、varargキーワードを使用する必要があります.
fun becomeLong(vararg args: Int,str: String){
    args.forEach { println("$str $it")
    }
}

複数の値を変長パラメータに渡す
becomeLong(1,2,3,4,str = "jwt")

パラメータの複数の値が長くなるためstrというパラメータは固有のパラメータで曖昧さを解消する必要がある
変長パラメータに配列の値を渡し、*演算子を使用して実現できます.
var array = intArrayOf(1,2,3)
becomeLong(*array,str = "jason")

*を使用すると、配列要素が順番に長くなるパラメータに渡されます.
例外キャプチャ
Kotlinの異常な捕獲もtry-catchブロックによって捕獲される
栗を挙げると、一目瞭然です.
fun main() {
    var args: Array = Array(3){"0"} //     ,       (size: Int, init: (Int) -> T)
    args.set(0,"2")
    args.set(1,"1")
    try {
        var x = args[0].toInt()
        var y = args[1].toInt()
        println("$x + $y = ${sum(x,y)}")
    }catch (e: NumberFormatException){
        println("            ")
    }catch (e: ArrayIndexOutOfBoundsException){
        println("        ")
    }catch (e: Exception){
        println("       ")
    }finally {
        println("      ")
    }
}


fun sum(x: Int,y: Int): Int{
    return x + y
}

和を求めるプロセスに現れる特定の異常をキャプチャ処理し,結果にかかわらず最終的にfinallyメソッドブロックを実行する.