स्ट्रक्ट परिभाषित करना और उनका प्रयोग
संबंधित डेटा को एक साथ रखने के लिए स्ट्रक्ट, जिनमें टपल स्ट्रक्ट और यूनिट-जैसे स्ट्रक्ट शामिल हैं, के माध्यम से अपनी डेटा-संरचनाएँ बनाइए।
स्ट्रक्ट परिभाषित करना और उनका प्रयोग, CoddyKit पर Rust कोडिंग सीखें का एक निःशुल्क पाठ है। यह 3 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Rust कोडिंग सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Rust कोडिंग सीखें पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
संरचनाओं से परिचय: कस्टम डेटा प्रकार
Rust में संरचनाएँ (structures का संक्षिप्त रूप) कस्टम डेटा प्रकार बनाने का एक तरीका हैं। इनके द्वारा आप कई संबंधित मानों को नाम देकर एक अर्थपूर्ण समूह में साथ रख सकते हैं।
संरचना को किसी उपयोगकर्ता, रंग या अंतरिक्ष में किसी बिंदु के लिए एक खाके की तरह समझिए। उपयोगकर्ता के नाम, ईमेल और आयु के लिए अलग-अलग चर रखने के बजाय, आप उन्हें User संरचना के अंदर रख सकते हैं।
इससे आपका डेटा तार्किक ढंग से व्यवस्थित होता है और कोड पढ़ना तथा उसका रखरखाव आसान हो जाता है।
क्लासिक संरचना परिभाषित करना
संरचना का सबसे सामान्य प्रकार क्लासिक संरचना है, जिसमें आप डेटा के प्रत्येक हिस्से का नाम रखते हैं, जिसे फ़ील्ड कहा जाता है। इसे परिभाषित करने का तरीका इस प्रकार है:
struct User {
username: String,
email: String,
sign_in_count: u64,
active: bool,
}
fn main() {
// This code only defines the struct blueprint.
// No actual user has been created yet!
println!("Struct 'User' blueprint defined.");
}संरचना के उदाहरण बनाना
संरचना परिभाषित करने के बाद, आप उसके ठोस उदाहरण बना सकते हैं। प्रत्येक उदाहरण अपने फ़ील्ड के लिए विशिष्ट मान रखता है। उदाहरण बनाने के लिए आप प्रत्येक फ़ील्ड के ठोस मान निर्दिष्ट करते हैं।
struct User {
username: String,
email: String,
sign_in_count: u64,
active: bool,
}
fn main() {
let user1 = User {
email: String::from("alice@example.com"),
username: String::from("alice123"),
active: true,
sign_in_count: 1,
};
println!("User instance created!");
}संरचना के फ़ील्ड तक पहुँचना
संरचना के उदाहरण से डेटा प्राप्त करने के लिए आप डॉट नोटेशन का उपयोग करते हैं। बस उदाहरण का नाम, एक डॉट (.) और फिर फ़ील्ड का नाम लिखें।
struct User {
username: String,
email: String,
sign_in_count: u64,
active: bool,
}
fn main() {
let user1 = User {
email: String::from("alice@example.com"),
username: String::from("alice123"),
active: true,
sign_in_count: 1,
};
println!("User's username: {}", user1.username);
println!("User's email: {}", user1.email);
}संरचनाओं के साथ परिवर्तनशीलता
सामान्य चरों की तरह, पूरी संरचना के उदाहरणों को भी mut कीवर्ड का उपयोग करके परिवर्तनीय बनाया जा सकता है। यदि कोई उदाहरण परिवर्तनीय है, तो उसके सभी फ़ील्ड बदले जा सकते हैं।
आप केवल कुछ फ़ील्ड को परिवर्तनीय नहीं बना सकते; परिवर्तनशीलता पूरी संरचना के उदाहरण पर लागू होती है।
struct User {
username: String,
email: String,
sign_in_count: u64,
active: bool,
}
fn main() {
let mut user1 = User {
email: String::from("alice@example.com"),
username: String::from("alice123"),
active: true,
sign_in_count: 1,
};
println!("Old email: {}", user1.email);
user1.email = String::from("new_alice@example.com");
println!("New email: {}", user1.email);
}टपल संरचनाएँ: बिना नाम वाले फ़ील्ड
टपल संरचनाएँ संरचना का एक और रूप हैं। वे टपल जैसी दिखती हैं, लेकिन उनका एक नाम होता है। जब आप टपल को अलग प्रकार का नाम देना चाहते हैं, लेकिन उसके अलग-अलग फ़ील्ड के नाम रखने की आवश्यकता नहीं होती, तब वे उपयोगी होती हैं।
उदाहरण के लिए, Color(i32, i32, i32) एक नामित टपल है, जो तीन पूर्णांकों को एक साथ समूहित करता है।
struct Color(i32, i32, i32);
struct Point(i32, i32, i32);
fn main() {
let black = Color(0, 0, 0);
let origin = Point(0, 0, 0);
println!("Tuple structs 'Color' and 'Point' defined.");
}टपल संरचनाओं का उपयोग करना
टपल संरचना का उदाहरण बनाना सामान्य टपल बनाने जैसा ही है। अंदर के मानों तक पहुँचने के लिए आप उनके अनुक्रमांक के साथ डॉट नोटेशन का उपयोग करते हैं, जो 0 से शुरू होता है।
struct Color(i32, i32, i32);
struct Point(i32, i32, i32);
fn main() {
let black = Color(0, 0, 0);
let origin = Point(0, 0, 0);
println!("Black color: R={}, G={}, B={}", black.0, black.1, black.2);
println!("Origin point: X={}, Y={}, Z={}", origin.0, origin.1, origin.2);
}यूनिट-जैसी संरचनाएँ: संकेतक
आप ऐसी संरचनाएँ भी परिभाषित कर सकते हैं जिनमें कोई फ़ील्ड नहीं होता। इन्हें यूनिट-जैसी संरचनाएँ कहा जाता है, क्योंकि इनका व्यवहार यूनिट प्रकार () जैसा होता है।
इनका उपयोग अक्सर किसी प्रकार पर विशेष ट्रेट लागू करने के संकेतक के रूप में किया जाता है, जहाँ डेटा स्वयं महत्वपूर्ण नहीं होता।
struct AlwaysTrue;
fn main() {
let subject = AlwaysTrue;
// Unit-like structs don't store data directly,
// but they can be instantiated and used as types.
println!("Unit-like struct 'AlwaysTrue' created.");
}संरचना अपडेट सिंटैक्स
यदि आपको किसी मौजूदा संरचना के आधार पर नया संरचना उदाहरण बनाना हो, लेकिन केवल कुछ फ़ील्ड के मान बदलने हों, तो Rust सुविधाजनक संरचना अपडेट सिंटैक्स (..) उपलब्ध कराता है।
यह सिंटैक्स शेष फ़ील्ड को निर्दिष्ट उदाहरण से स्थानांतरित कर देता है, इसलिए यदि मूल उदाहरण में Copy लागू करने वाले फ़ील्ड हों, तो उसका फिर उपयोग नहीं किया जा सकता।
struct User {
username: String,
email: String,
sign_in_count: u64,
active: bool,
}
fn main() {
let user1 = User {
email: String::from("alice@example.com"),
username: String::from("alice123"),
active: true,
sign_in_count: 1,
};
let user2 = User {
email: String::from("bob@example.com"),
username: String::from("bob456"),
..user1 // Copy remaining fields from user1
};
println!("User 2 email: {}", user2.email);
println!("User 2 active: {}", user2.active);
// user1.username is now moved, so user1 can't be used here.
}संरचनाओं पर प्रश्नोत्तरी
Rust की संरचनाओं के बारे में अपनी समझ जाँचें।
पुनरावृत्ति: संरचनाओं का अवलोकन
आपने Rust में संरचनाएँ परिभाषित करना और उनका उपयोग करना सीख लिया है!
- क्लासिक संरचनाएँ कस्टम डेटा प्रकार बनाने के लिए नामित फ़ील्ड को समूहित करती हैं।
- टपल संरचनाएँ नामित टपल होती हैं और तब उपयोगी होती हैं जब फ़ील्ड के नाम आवश्यक नहीं होते।
- यूनिट-जैसी संरचनाओं में कोई फ़ील्ड नहीं होता और वे संकेतक के रूप में काम करती हैं।
- संरचना के फ़ील्ड में बदलाव करने के लिए उसके उदाहरणों को
mutबनाया जा सकता है। ..सिंटैक्स मौजूदा उदाहरणों से नए उदाहरण बनाने में मदद करता है।
Rust प्रोग्राम में संबंधित डेटा को व्यवस्थित करने के लिए संरचनाएँ मूलभूत हैं और आपके कोड को अधिक सुव्यवस्थित तथा पठनीय बनाती हैं।
एआई शिक्षक के साथ Rust सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 39
- पाठ
- 144
अक्सर पूछे जाने वाले प्रश्न
क्या “स्ट्रक्ट परिभाषित करना और उनका प्रयोग” पाठ निःशुल्क है?
हाँ — Rust कोडिंग सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “स्ट्रक्ट परिभाषित करना और उनका प्रयोग” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Rust कोडिंग सीखें पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“स्ट्रक्ट परिभाषित करना और उनका प्रयोग” में मैं क्या सीखूँगा?
संबंधित डेटा को एक साथ रखने के लिए स्ट्रक्ट, जिनमें टपल स्ट्रक्ट और यूनिट-जैसे स्ट्रक्ट शामिल हैं, के माध्यम से अपनी डेटा-संरचनाएँ बनाइए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Rust कोडिंग सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Rust कोडिंग सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Rust कोडिंग सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 1वाँ पाठ है।
“स्ट्रक्ट परिभाषित करना और उनका प्रयोग” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Rust कोडिंग सीखें पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Rust कोडिंग सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- स्ट्रक्ट परिभाषित करना और उनका प्रयोग
- कस्टम प्रकारों के लिए एनम
- शक्तिशाली पैटर्न मिलान