Avatar ·

Rust में use और extern crate में क्या अंतर है? कब क्या उपयोग करें?

नमस्ते सहकर्मियों! मैंने हाल ही में Rust सीखना शुरू किया है और दो महत्वपूर्ण कंस्ट्रक्ट्स में उलझ गया हूँ: `use` और `extern crate`। डॉक्यूमेंटेशन में लिखा है कि दोनों import से संबंधित हैं, लेकिन मुझे समझ नहीं आ रहा कि कब किसका उपयोग करूं। यह रहा मेरा कोड: ```rust // यह काम करता है extern crate rand; use rand::Rng; fn main() { let secret_number = rand::thread_rng().gen_range(1..101); println!("सीक्रेट नंबर: {}", secret_number); } ``` लेकिन अगर मैं `extern crate` के बिना ऐसे लिखूं: ```rust use rand::Rng; fn main() { let secret_number = rand::thread_rng().gen_range(1..101); println!("सीक्रेट नंबर: {}", secret_number); } ``` कंपाइलर त्रुटि देता है: `can't find crate for rand`। तो `use` की क्या ज़रूरत है अगर `extern crate` के बिना कुछ काम नहीं करता? और इसके विपरीत — अगर मैं केवल `extern crate rand` लिखूं, तो `gen_range` फंक्शन `use` के बिना उपलब्ध नहीं होगा। इसके अलावा, मैंने देखा कि कुछ प्रोजेक्ट्स (जैसे Rust 2018 में) लोग `extern crate` बिल्कुल नहीं लिखते, बस `use` का उपयोग करते हैं। क्यों?