Avatar ·

Rust में अपरिवर्तनीय चर और स्थिरांक में क्या अंतर है?

नमस्ते! मैंने Rust सीखना शुरू किया है और एक मूलभूत अवधारणा में उलझन में हूँ। दस्तावेज़ीकरण में कहा गया है कि चर (variables) डिफ़ॉल्ट रूप से अपरिवर्तनीय (immutable) होते हैं, और उन्हें बदलने के लिए `mut` का उपयोग करना होता है। लेकिन `const` कीवर्ड भी है। इन दोनों में क्या अंतर है?\n\nमैंने ऐसा कोड लिखने की कोशिश की:\n\n```rust\nconst MAX_POINTS: u32 = 100_000;\nlet x = 5;\nx = 6; // त्रुटि!\n```\n\nऔर ऐसा लगता है कि `MAX_POINTS` और `x` दोनों को इनिशियलाइज़ेशन के बाद बदला नहीं जा सकता। लेकिन कंपाइलर `x = 6` पर त्रुटि देता है, जबकि स्थिरांक पर नहीं। क्यों? और अगर मैं `let` के माध्यम से एक अपरिवर्तनीय चर घोषित कर सकता हूँ, तो स्थिरांक की आवश्यकता क्यों है? किन मामलों में `const` का उपयोग करना चाहिए और किनमें `let` का?\n\nमैंने यह भी देखा कि स्थिरांकों (constants) के लिए हमेशा टाइप एनोटेशन (type annotation) आवश्यक है, जबकि चरों के लिए हमेशा नहीं। क्या यह उनकी प्रकृति से संबंधित है? आपका आभारी रहूँगा।