Kotlin में const और val में क्या अंतर है? शुरुआती लोगों के लिए विस्तृत व्याख्या
सभी को नमस्ते! मैंने हाल ही में Kotlin सीखना शुरू किया है और भ्रम का सामना करना पड़ा। अन्य डेवलपर्स के कोड में मैं दो समान keywords देखता हूँ: `const` और `val`। पहली नज़र में वे एक ही काम करते हैं — एक immutable variable घोषित करना। लेकिन मुझे लगता है कि उनके बीच कुछ अंतर है, अन्यथा दोनों क्यों मौजूद होंगे?
यहाँ एक उदाहरण है जो मुझे भ्रमित करता है:
```kotlin
val pi = 3.14159
const val PI = 3.14159
```
मैं समझता हूँ कि दोनों विकल्प initialization के बाद मान बदलने नहीं देंगे। लेकिन फिर एक मामले में मैं `const val` क्यों लिखता हूँ और दूसरे में सिर्फ `val`? Compiler त्रुटि देता है अगर मैं function के अंदर `const` का उपयोग करने की कोशिश करता हूँ। ऐसा क्यों?
मैंने यह भी देखा कि `const` का उपयोग केवल primitive types और strings के साथ किया जा सकता है। जबकि `val` किसी भी object के साथ काम करता है। लेकिन फिर `const` की आवश्यकता क्यों है, अगर `val` वही सब कुछ करता है?
कृपया सरल शब्दों में समझाएँ कि वे कैसे भिन्न हैं और किन स्थितियों में क्या उपयोग करना चाहिए। विशेष रूप से, यह performance को कैसे प्रभावित करता है, इसमें मेरी रुचि है।