val बनाम var
val किसी value पर स्थायी रूप से चिपका हुआ label है, जैसे permanent marker से लिखा नाम, जबकि var pencil से लिखा label है जिसे आप बदल सकते हैं। ज़्यादातर Scala coders सुरक्षा के लिए val पसंद करते हैं।
In this page:
Syntax
val name: Type = value // immutable
var name: Type = value // mutable
val vs var
val एक immutable binding declare करता है -- एक बार assign होने के बाद, इसे कभी reassign नहीं किया जा सकता -- जबकि var एक mutable variable declare करता है जिसे बाद में reassign किया जा सकता है।
Scala का idiom default रूप से val को मजबूती से पसंद करता है, और सिर्फ तभी var का सहारा लेता है जब mutation वास्तव में ज़रूरी हो। immutability की यह पसंद Scala की functional programming style का एक मुख्य हिस्सा है।
Warning:
val x = 5 के बाद x = 5 जैसे किसी val को reassign करने की कोशिश करना एक compile error है, runtime error नहीं।उदाहरण: val vs var
object Main extends App {
val x = 10
var y = 20
y = 30 // allowed, y is a var
println(s"x = $x, y = $y")
}
Login to try C/C++/Java/PHP code in the editor
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the
view already swaps in the hi_ translation fields (or blanks these
out if untranslated), so this renders correctly for both languages
without a lang_code check here. #}
आम गलतियां
- किसी
valको reassign करने की कोशिश करना, जैसेx = 20, जोreassignment to valदेता है; अगर इसे बदलना ज़रूरी हो तोvarका उपयोग करें। - हर जगह
varका उपयोग करना, जबकिvalज़्यादा सुरक्षित है और इसे default होना चाहिए। - यह मान लेना कि
ArrayBufferजैसे mutable object को रखने वालाvalfrozen है, जबकि सिर्फ reference fixed है और contents अब भी बदल सकते हैं।
🔒
Chapter Quiz — Complete all 8 topics to unlock
0/8 topics done
Complete these topics first: