Kotlin में var और val में क्या अंतर है? कब क्या उपयोग करें?
नमस्ते! मैंने अभी-अभी Java के बाद Kotlin सीखना शुरू किया है और variable घोषित करने में भ्रमित हो गया हूँ। Java में मैं type (int, String) और modifier (final — constants के लिए) के साथ variables घोषित करने का आदी था। Kotlin में मैं दो keywords देखता हूँ: var और val।
मैंने पढ़ा कि val Java में final के समान है, और var एक सामान्य mutable variable है। लेकिन व्यवहार में मेरे मन में सवाल उठे।
उदाहरण के लिए, मैंने यह कोड लिखा:
```kotlin
fun main() {
var name = "Анна"
name = "Мария" // यह संभव है, ठीक है
val age = 25
age = 30 // त्रुटि! Val को पुनः असाइन नहीं किया जा सकता
}
```
val के साथ सब स्पष्ट है — इसे पुनः असाइन नहीं किया जा सकता। लेकिन अगर val कोई primitive नहीं बल्कि object store करता है तो क्या होगा? उदाहरण के लिए:
```kotlin
val list = mutableListOf("a", "b")
list.add("c") // क्या यह काम करता है?
println(list) // [a, b, c] प्रिंट करेगा
```
तो ऐसा लगता है कि val कोई constant नहीं है, बल्कि सिर्फ एक reference है जिसे बदला नहीं जा सकता? या मैं कुछ गलत समझ रहा हूँ?
इसके अलावा, मुझे यह जानने में दिलचस्पी है: var कब और val कब उपयोग करना बेहतर है? क्या इसका performance पर कोई प्रभाव पड़ता है?