एक में कई Types रखने वाले Unions
एक स्थान पर वैकल्पिक रूपों को संग्रहीत करें।
एक में कई Types रखने वाले Unions, CoddyKit पर Zig Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Zig Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
एक स्थान, कई रूप
कभी-कभी कोई मान पूर्णांक या फ़्लोट हो सकता है, लेकिन एक समय में केवल एक। union एक ही स्थान में कई संभावित प्रकारों में से ठीक एक को रखता है।
Union घोषित करना
आप union लिखकर नामित फ़ील्ड की सूची देते हैं, जिनमें हर फ़ील्ड का अपना प्रकार होता है। किसी भी क्षण मान में उन फ़ील्डों में से केवल एक होता है।
const Number = union { int: i64, float: f64 };एक समय में एक फ़ील्ड रखता है
struct के विपरीत, union एक साथ हर field को नहीं रखता। यह केवल एक सक्रिय field को संग्रहीत करता है और बाकी मौजूद नहीं होते।
सक्रिय field सेट करना
आप dot syntax से कोई एक field चुनकर union को initialize करते हैं। वह field उस value के लिए सक्रिय बन जाता है।
var n = Number{ .int = 42 };सक्रिय field पढ़ना
आप union को उसी field के माध्यम से पढ़ते हैं जिसे आपने सेट किया है। n.int को access करने पर आपको वही integer मिलता है जिसे आपने संग्रहीत किया था, ठीक वैसे ही जैसे किसी struct के अंदर पहुँचते हैं।
const x = n.int;मेमोरी साझा होती है
union अपने सबसे बड़े field के लिए जगह आरक्षित करता है और उसी जगह का दोबारा उपयोग करता है। इसलिए यह कई विकल्पों में से किसी एक को रखने का संक्षिप्त तरीका है।
सक्रिय field बदलना
नया field assign करने पर वही field सक्रिय बन जाता है और पुरानी value समाप्त हो जाती है। अब union एक अलग रूप को दर्शाता है।
n = Number{ .float = 3.14 };गलत field पढ़ना
यदि आप ऐसा field पढ़ते हैं जो सक्रिय नहीं है, तो यह एक bug है। सुरक्षित builds में Zig गलत access का पता लगाकर panic शुरू कर देता है।
const f = n.int; // wrong field activeसाधारण union में कोई tag नहीं होता
साधारण union को यह याद नहीं रहता कि कौन-सा field सक्रिय है। आपको इसका हिसाब स्वयं रखना पड़ता है; इसी समस्या को tagged union हल करता है।
Unions और Structs
struct अपने fields का तार्किक AND होता है, इसलिए सभी fields साथ मौजूद रहते हैं। union तार्किक OR होता है: एक समय में केवल एक field मौजूद रहता है।
Union का उपयोग कब करें
जब कोई value स्वाभाविक रूप से कुछ रूपों में से कोई एक हो, तब union का उपयोग करें—जैसे कोई token जो number या symbol हो, दोनों एक साथ कभी नहीं।
त्वरित जाँच
एक ही समय में union के कितने fields में value रहती है?
पुनरावलोकन
आपने unions देखे: कई typed विकल्पों में से किसी एक field को रखने वाला एक slot। ये memory साझा करते हैं, इसलिए केवल सक्रिय field को set और read करें। 🔀
एआई शिक्षक के साथ Zig सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “एक में कई Types रखने वाले Unions” पाठ निःशुल्क है?
हाँ—“एक में कई Types रखने वाले Unions” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Zig Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“एक में कई Types रखने वाले Unions” में मैं क्या सीखूँगा?
एक स्थान पर वैकल्पिक रूपों को संग्रहीत करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Zig Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Zig Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Zig Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“एक में कई Types रखने वाले Unions” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Zig Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Zig Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Values के निश्चित Set के लिए Enums
- एक में कई Types रखने वाले Unions
- Tagged Unions और switch
- Enum Methods और Backing Integers