Kotlin芸術探求のパラメータと異常
1848 ワード
パラメータ伝達
デフォルトパラメータの使用
メソッドのパラメータにデフォルトのパラメータ値として値を設定できます.
デフォルトのパラメータを使用すると、呼び出し時にパラメータを渡さなくてもいいです.
具名パラメータの使用
具名パラメータとは、パラメータ名を指定して付与することであり、パラメータを渡す際にいちいち対応することを考慮する必要がなく、またKotlinのパラメータ伝達の柔軟性により、パラメータを渡す際に曖昧さが生じやすく、その際に具名パラメータによって曖昧さを解消できるという利点がある.
変長パラメータの使用
変長パラメータは1つのパラメータに複数の値を割り当てることができ、varargキーワードを使用する必要があります.
複数の値を変長パラメータに渡す
パラメータの複数の値が長くなるためstrというパラメータは固有のパラメータで曖昧さを解消する必要がある
変長パラメータに配列の値を渡し、*演算子を使用して実現できます.
*を使用すると、配列要素が順番に長くなるパラメータに渡されます.
例外キャプチャ
Kotlinの異常な捕獲もtry-catchブロックによって捕獲される
栗を挙げると、一目瞭然です.
和を求めるプロセスに現れる特定の異常をキャプチャ処理し,結果にかかわらず最終的にfinallyメソッドブロックを実行する.
デフォルトパラメータの使用
メソッドのパラメータにデフォルトのパラメータ値として値を設定できます.
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メソッドブロックを実行する.