1. 概要

このクイックチュートリアルでは、Kotlinコンパイラが関数パラメータの「valcannotreassigned」エラーで失敗した場合を確認します。

2. 最終パラメータ

関数パラメーターはKotlinで最終的なものです。 したがって、これらは読み取り専用のローカル変数と考えることができ、val宣言と非常によく似ています。 したがって、Kotlin関数パラメーターを別のパラメーターに再割り当てしようとすると、次のようになります。

fun echo(content: String) {
    content += "Hello"
}

次に、Kotlinコンパイラは次のエラーで失敗します。

>> kotlinc main.kt   
main.kt:2:5: error: val cannot be reassigned
    content += "Hello"
    ^

ここに示されているように、コンパイラのエラーメッセージは、関数パラメータが最終的なものであり、他のパラメータに再割り当てできないことを明確に示しています。

技術的に言えば、これは特定のエッジケースに関する多くの混乱を回避できるため、優れた設計上の決定です。 それに加えて、 final パラメーターは、一般的に従うべきより良い方法です。 したがって、この適切な制限の回避策を探さない方が一般的に賢明です。

3. 結論

この非常に短いチュートリアルでは、関数パラメーターがKotlinで最終的なものであることを学びました。 その結果、他の値をそれらに再割り当てすることはできません。その点で、それらはvalとして宣言された他の変数と同じです。