मुख्य कंटेंट तक स्किप करें

डेटा प्रकार

इस दस्तावेज़ में वेव प्रोग्रामिंग भाषा द्वारा प्रदान किए गए विभिन्न डेटा प्रकारों का वर्णन किया गया है। Wave में विभिन्न प्रकार के डेटा प्रकारों के माध्यम से मूल्य को संग्रहीत और संचालित किया जा सकता है, और प्रत्येक डेटा प्रकार उस डेटा की अभिव्यक्ति और मेमोरी प्रोसेसिंग विधि को स्पष्ट रूप से परिभाषित करता है।

डेटा प्रकार को स्पष्ट रूप से निर्दिष्ट करना Wave की मुख्य डिजाइन फिलॉसफी में से एक है। Wave एक पूर्ण दृढ़-प्रकार प्रणाली है। सभी var/fun डिक्लेरेशन और वेरिएबल इनिशियलाइज़ेशन को स्पष्ट प्रकार की आवश्यकता होती है, और संदर्भ-आधारित प्रकार का अनुमान समर्थित नहीं है। इसलिए var x = 1; जैसे प्रकार के बिना, संकलन विफल हो सकता है। इसके माध्यम से कोड के उद्देश्य को स्पष्ट रूप से व्यक्त किया जा सकता है, संकलन समय पर त्रुटियों का जल्दी पता लगाया जा सकता है, और कुशल मेमोरी इस्तेमाल और स्थिर निष्पादन सुनिश्चित किया जा सकता है।


पूर्णांक प्रकार

पूर्णांक प्रकार का उपयोग पूर्णांक मान संग्रहीत करने के लिए किया जाता है। Wave में, आमतौर पर i32 (इशारे वाले 32-बिट पूर्णांक) और u32 (बिना इशारा वाले 32-बिट पूर्णांक) का उपयोग होता है, लेकिन आवश्यकता होने पर आप पूर्णांक के बिट आकार को बहुत सटीकता से निर्दिष्ट कर सकते हैं।

इशारे वाला पूर्णांक प्रकार i8 से i1024 तक उपलब्ध होता है, और बिना इशारा वाला पूर्णांक प्रकार u8 से u1024 तक उपयोग किया जा सकता है। इसके द्वारा साधारण गणनाओं से लेकर बड़े पूर्णांक गणनाओं, क्रिप्टोग्राफ़िक प्रोसेसिंग, और निम्न-स्तरीय सिस्टम प्रोग्रामिंग तक की व्यापक आवश्यकताओं को पूरा किया जा सकता है।

नीचे पूर्णांक प्रकार के उपयोग का एक सरल उदाहरण दिया गया है।

var a: i32 = 100;
var b: u32 = 200;

फ्लोटिंग-पॉइंट प्रकार

फ्लोटिंग-पॉइंट प्रकार का उपयोग वास्तविक मानों को संग्रहीत करने के लिए किया जाता है। Wave में आमतौर पर प्रयुक्त होने वाला फ्लोटिंग-पॉइंट प्रकार f32 है, और जिस स्थिति में अधिक उच्च परिशुद्धता की आवश्यकता हो, आप अधिक बड़ा प्रकार चुन सकते हैं।

Wave f32 से f128 तक फ्लोटिंग-पॉइंट प्रकार प्रदान करता है, जिससे उपयोगकर्ता सीधे गणना की परिशुद्धता और प्रदर्शन के बीच चयन कर सकते हैं। इसके द्वारा साधारण संख्यात्मक गणनाओं से लेकर सटीक वैज्ञानिक गणनाओं तक विभिन्न प्रयोजनों के लिए पूर्ण संख्या गणनाओं को प्रोसेस किया जा सकता है।

नीचे फ्लोटिंग-पॉइंट प्रकार के उपयोग का एक उदाहरण दिया गया है।

var pi: f32 = 3.14;
var e: f64 = 2.71828;

स्ट्रिंग प्रकार

स्ट्रिंग प्रकार का उपयोग टेक्स्ट डेटा को संचालित करने के लिए किया जाता है। Wave में, स्ट्रिंग घोषित करने के लिए str कीवर्ड का उपयोग किया जाता है, और स्ट्रिंग लिटरल का प्रदर्शन दोहरे उद्धरण चिन्हों (") में किया जाता है।

स्ट्रिंग्स का कार्यक्रम में संदेश आउटपुट, उपयोगकर्ता इनपुट प्रोसेसिंग, और टेक्स्ट आधारित डेटा प्रोसेसिंग जैसी विभिन्न उद्देश्यों में व्यापक रूप से उपयोग किया जाता है।

नीचे स्ट्रिंग प्रकार के आधारभूत उपयोग का एक उदाहरण दिया गया है।

var text: str = "Hello Wave";

बूलियन प्रकार

बूलियन प्रकार सत्य (True) या असत्य (False) मान को दर्शाने वाला डेटा प्रकार है। Wave में, bool प्रकार का उपयोग किया जाता है, और मान true या false के रूप में निर्दिष्ट किए जाते हैं।

बूलियन प्रकार शर्तीय कथनों और लूप में एक मुख्य भूमिका निभाता है और कार्यक्रम के प्रवाह को नियंत्रित करने के लिए उपयोग किया जाता है।

var isActive: bool = true;
var isAvailable: bool = true;

अक्षर प्रकार

अक्षर प्रकार का उपयोग एकल अक्षर को संग्रहित करने के लिए किया जाता है। char कीवर्ड का उपयोग करके घोषित किया जाता है, और यह केवल एक अक्षर का मान रख सकता है।

अक्षर लिटरल को एकल उद्धरण (') में लपेटकर प्रस्तुत किया जाता है।

var letter: char = 'A';

बाइट प्रकार

बाइट प्रकार का उपयोग 1बाइट आकार के डेटा को संग्रहीत करने के लिए किया जाता है। यह प्रकार विशेष रूप से बाइनरी डेटा प्रोसेसिंग, फ़ाइल इनपुट/आउटपुट, नेटवर्क प्रोग्रामिंग जैसी निम्न-स्तरीय डेटा प्रोसेसिंग आवश्यकताओं में उपयोगी होता है।

Wave में, बाइट प्रकार को घोषित करने के लिए byte कीवर्ड का उपयोग किया जाता है।

var byteData: byte = 0xFF;

पॉइंटर प्रकार

पॉइंटर प्रकार का उपयोग मेमोरी पता संदर्भित करने के लिए किया जाता है। Wave में, ptr<T> फ़ॉर्म से पॉइंटर प्रकार घोषित किया जाता है।

पॉइंटर्स का उपयोग निम्न-स्तरीय मेमोरी पहुँच आवश्यकताएं होने पर किया जाता है, और यह प्रणाली प्रोग्रामिंग या प्रदर्शन महत्वपूर्ण कोड में मुख्य रूप से प्रयुक्त होते हैं।

var ptr: ptr<T> = &someVariable;

null लिटरल

Wave में, null एक वैध लिटरल है।

  • null कोई पहचानकर्ता नहीं है। (var null = ... प्रारूप संभव नहीं)
  • null केवल ptr<T> प्रकार में ही असाइन किया जा सकता है।
var p: ptr<i32> = null;  // OK

// var n: i32 = null; // ERROR
// var b: bool = null; // ERROR

एरे प्रकार

एरे प्रकार का उपयोग समान डेटा प्रकार के कई मान को अनुक्रमिक रूप से संग्रहीत करने के लिए किया जाता है। Wave में, एरे को array<प्रकार, आकार> फ़ॉर्म से घोषित किया जाता है, और एरे के आकार को कंपाइल समय पर स्पष्ट रूप से निर्दिष्ट किया जाता है।

इसके द्वारा मेमोरी संरचना स्पष्ट होती है, और सुरक्षित पठनीयता संभव होती है।

var numbers: array<i32, 5> = [1, 2, 3, 4, 5];

प्रत्येक डेटा प्रकार को इसके उपयोग और विशेषताओं के अनुसार उपयुक्त दायरे और आकार का चयन करने के लिए डिज़ाइन किया गया है। उपयुक्त डेटा प्रकार का चयन मेमोरी को प्रभावी ढंग से प्रबंधित करने देता है, और कोड की स्थिरता और पठनीयता में भी महत्वपूर्ण सुधार करता है।