「valを再割り当てできません」Kotlinの関数パラメーターに関する問題
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として宣言された他の変数と同じです。