आप क्या लिखा है के समान है:
let x: u32 = 10;
संकलक यह उसके बाद उत्परिवर्तित देने की अनुमति नहीं होगी: यदि आप एक इस्तेमाल करने की कोशिश
let x: u32;
x = 10;
x = 0; // Error: re-assignment of immutable variable `x`
ध्यान दें कि यह एक संकलक त्रुटि है अप्रारंभीकृत चर:
let x: u32;
println!("{}", x); // Error: use of possibly uninitialized variable: `x`
यह सुविधा बहुत उपयोगी है अगर आप INI करना चाहते हो सकता है रनटाइम स्थितियों के आधार पर परिवर्तनीय को अलग-अलग करें। एक अनुभवहीन उदाहरण:
let x: u32;
if condition {
x = 1;
} else if other_condition {
x = 10;
} else {
x = 100;
}
लेकिन फिर भी यह अभी भी एक त्रुटि हो जाएगा अगर वहाँ एक संभावना कि यह प्रारंभ नहीं किया गया है:
let x: u32;
if condition {
x = 1;
} else if other_condition {
x = 10;
} // no else
println!("{:?}", x); // Error: use of possibly uninitialized variable: `x`
स्रोत
2017-04-20 12:42:38
यह स्थगित प्रारंभिकता है, उत्परिवर्तन नहीं। – ildjarn
जंग 1.16 जंग का वर्तमान संस्करण है, और 1.17 कुछ हफ्तों में जारी किया जाना चाहिए। वर्तमान रहने के लिए यह लायक है। – Shepmaster