इस अध्याय में हम Google Go (Golang) की बुनियादी अवधारणाओं पर ध्यान केंद्रित करेंगे। किसी भी प्रोग्रामिंग लैंग्वेज को सीखने के लिए उसके बेसिक्स को समझना आवश्यक है। इस अध्याय में आप वेरिएबल्स, डेटा टाइप्स, और कंसोल इनपुट-आउटपुट जैसी महत्वपूर्ण अवधारणाओं से परिचित होंगे। ये सभी विषय गोलैंग में कोड लिखने की नींव रखते हैं और आपको आगे के अध्यायों में आने वाले जटिल विषयों को समझने में मदद करेंगे। चाहे आप एक नए प्रोग्रामर हों या पहले से कुछ अनुभव रखते हों, इस अध्याय में दी गई जानकारी आपके गोलैंग ज्ञान को मजबूत करेगी।
डेटा टाइप्स और वेरिएबल्स (Data Types and Variables)
गोलैंग में, डेटा टाइप्स और वेरिएबल्स प्रोग्रामिंग की बुनियादी इकाइयाँ हैं। वेरिएबल्स का उपयोग डेटा को स्टोर करने के लिए किया जाता है, और डेटा टाइप्स यह निर्धारित करते हैं कि उस डेटा का प्रकार क्या होगा। इस सेक्शन में, हम वेरिएबल्स को डिक्लेयर और असाइन करने के तरीकों के साथ-साथ विभिन्न प्रकार के डेटा टाइप्स को समझेंगे।
1. वेरिएबल्स का परिचय (Introduction to Variables):
वेरिएबल्स का उपयोग प्रोग्राम में डेटा को अस्थायी रूप से स्टोर करने के लिए किया जाता है। इन्हें एक नाम दिया जाता है, जिससे हम उस डेटा को बाद में पुनः प्राप्त कर सकते हैं। गोलैंग में वेरिएबल्स को var
कीवर्ड का उपयोग करके डिक्लेयर किया जाता है।
var x int
2. वेरिएबल्स को असाइन करना (Assigning Values to Variables):
वेरिएबल्स को डिक्लेयर करने के बाद, हम उन्हें एक वैल्यू असाइन कर सकते हैं। गोलैंग में यह बहुत सरल है।
var x int = 10
आप वेरिएबल को असाइन करने का काम सीधे भी कर सकते हैं:
x := 10
3. डेटा टाइप्स का परिचय (Introduction to Data Types):
डेटा टाइप्स यह परिभाषित करते हैं कि वेरिएबल में किस प्रकार का डेटा स्टोर होगा। गोलैंग में विभिन्न प्रकार के डेटा टाइप्स होते हैं, जैसे:
- इंटिजर्स (Integers): जैसे
int
,int8
,int16
,int32
,int64
आदि। - फ्लोटिंग पॉइंट नंबर (Floating Point Numbers): जैसे
float32
,float64
। - बूलियन (Boolean):
true
याfalse
वैल्यू को स्टोर करने के लिएbool
। - स्ट्रिंग्स (Strings): टेक्स्ट डेटा को स्टोर करने के लिए
string
।
4. गोलैंग में डेटा टाइप्स का उपयोग (Using Data Types in Golang):
हर वेरिएबल को डिक्लेयर करते समय, आपको उसकी डेटा टाइप स्पेसिफाई करनी होती है, ताकि कंपाइलर को पता चले कि उस वेरिएबल में किस प्रकार का डेटा स्टोर किया जाएगा।
var name string = "John" var age int = 30 var height float64 = 5.9 var isStudent bool = false
5. डिफ़ॉल्ट वैल्यूज (Default Values):
जब आप किसी वेरिएबल को डिक्लेयर करते हैं और उसे तुरंत वैल्यू असाइन नहीं करते, तो गोलैंग उसे डिफ़ॉल्ट वैल्यू देता है:
int
के लिए डिफ़ॉल्ट वैल्यू0
होती है।float64
के लिए0.0
होती है।bool
के लिएfalse
होती है।string
के लिए""
(empty string) होती है।
6. कॉनस्टेंट्स (Constants):
वेरिएबल्स के विपरीत, कॉनस्टेंट्स वे वैल्यूज होती हैं जो प्रोग्राम के रनटाइम के दौरान नहीं बदलतीं। इन्हें const
कीवर्ड का उपयोग करके डिक्लेयर किया जाता है।
const pi float64 = 3.14159
डेटा टाइप्स और वेरिएबल्स का सही उपयोग करना आपको अधिक सटीक और प्रभावी प्रोग्राम लिखने में मदद करता है। गोलैंग की स्पष्टता और सिंटैक्स के कारण, यह सीखना और भी आसान हो जाता है कि कैसे आप अपने कोड में विभिन्न प्रकार के डेटा को मैनेज और प्रोसेस कर सकते हैं।
कन्वर्जन और टाइप कास्टिंग (Conversion and Type Casting)
गोलैंग में, जब हम विभिन्न प्रकार के डेटा टाइप्स के बीच डेटा को बदलना चाहते हैं, तो इसे कन्वर्जन या टाइप कास्टिंग कहा जाता है। टाइप कास्टिंग का उपयोग तब किया जाता है जब आपको किसी वेरिएबल के डेटा टाइप को एक से दूसरे में बदलना हो। गोलैंग में टाइप कास्टिंग एक सरल और स्पष्ट प्रक्रिया है, जिससे आप आसानी से विभिन्न डेटा टाइप्स के बीच रूपांतरण कर सकते हैं।
1. टाइप कास्टिंग का परिचय (Introduction to Type Casting):
टाइप कास्टिंग का मतलब है एक डेटा टाइप के वेरिएबल को दूसरे डेटा टाइप में बदलना। यह तब आवश्यक होता है जब आप एक टाइप के डेटा को दूसरे टाइप के वेरिएबल में स्टोर करना चाहते हैं। उदाहरण के लिए, यदि आपके पास एक int
वेरिएबल है और आप इसे float64
में बदलना चाहते हैं, तो टाइप कास्टिंग की आवश्यकता होगी।
var x int = 10 var y float64 = float64(x)
2. विभिन्न डेटा टाइप्स के बीच कन्वर्जन (Conversion Between Different Data Types):
गोलैंग में आप कई प्रकार के कन्वर्जन कर सकते हैं, जैसे:
- इंटिजर से फ्लोटिंग पॉइंट (Integer to Floating Point):
var a int = 42 var b float64 = float64(a)
- फ्लोटिंग पॉइंट से इंटिजर (Floating Point to Integer):
var c float64 = 3.14 var d int = int(c)
- इंटिजर से स्ट्रिंग (Integer to String):
var e int = 99 var f string = strconv.Itoa(e) // strconv पैकेज का उपयोग करके
- स्ट्रिंग से इंटिजर (String to Integer):
var g string = "123" var h int h, err := strconv.Atoi(g) // strconv पैकेज का उपयोग करके
3. कन्वर्जन में सावधानियाँ (Precautions in Conversion):
टाइप कास्टिंग करते समय कुछ बातों का ध्यान रखना आवश्यक है:
- डेटा लॉस (Data Loss): फ्लोटिंग पॉइंट से इंटिजर में कन्वर्जन के दौरान दशमलव अंश खो सकता है।
var pi float64 = 3.14159 var i int = int(pi) // i की वैल्यू 3 होगी, दशमलव भाग हटा दिया जाएगा
- एरर हैंडलिंग (Error Handling): स्ट्रिंग को इंटिजर में कन्वर्ट करते समय एरर हो सकता है, यदि स्ट्रिंग वैल्यू वैध इंटिजर में कन्वर्ट नहीं हो सकती।
var s string = "abc" n, err := strconv.Atoi(s) // err नॉन-निल होगा क्योंकि "abc" को इंटिजर में कन्वर्ट नहीं किया जा सकता
4. उपयोगी कन्वर्जन फ़ंक्शंस (Useful Conversion Functions):
गोलैंग में कई उपयोगी फ़ंक्शंस हैं जो स्ट्रिंग्स, इंटिजर्स, और फ्लोट्स के बीच कन्वर्जन को सरल बनाते हैं:
strconv.Itoa(int) string
: इंटिजर को स्ट्रिंग में कन्वर्ट करने के लिए।strconv.Atoi(string) (int, error)
: स्ट्रिंग को इंटिजर में कन्वर्ट करने के लिए।strconv.ParseFloat(string, bitSize) (float64, error)
: स्ट्रिंग को फ्लोट में कन्वर्ट करने के लिए।fmt.Sprintf(format string, a ...interface{}) string
: किसी भी प्रकार की वैल्यू को फॉर्मेटेड स्ट्रिंग में कन्वर्ट करने के लिए।
टाइप कास्टिंग और कन्वर्जन के सही उपयोग से आप गोलैंग में डेटा को प्रभावी रूप से मैनेज कर सकते हैं और अपने प्रोग्राम को अधिक लचीला बना सकते हैं। यह समझना जरूरी है कि कब और कैसे टाइप कास्टिंग का उपयोग करना है, ताकि आप अपने प्रोग्राम में किसी भी अनपेक्षित परिणाम से बच सकें।
कंसोल इनपुट और आउटपुट (Console Input and Output)
गोलैंग में, कंसोल इनपुट और आउटपुट किसी भी प्रोग्राम की बुनियादी क्रियाओं में से एक हैं। कंसोल आउटपुट का उपयोग तब किया जाता है जब आप अपने प्रोग्राम के परिणाम को स्क्रीन पर दिखाना चाहते हैं, जबकि कंसोल इनपुट का उपयोग तब किया जाता है जब आप उपयोगकर्ता से डेटा लेना चाहते हैं। इस सेक्शन में हम इन दोनों विषयों को विस्तार से समझेंगे।
1. fmt पैकेज का परिचय (Introduction to fmt Package):
गोलैंग में कंसोल इनपुट और आउटपुट के लिए fmt
पैकेज का उपयोग किया जाता है। यह पैकेज कई प्रकार के फ़ंक्शंस प्रदान करता है, जो आपको डेटा को फॉर्मेट करने, प्रिंट करने और स्कैन करने में मदद करते हैं।
2. कंसोल आउटपुट: प्रिंटफ और प्रिंटलन (Console Output: Printf and Println):
- fmt.Println(): यह फ़ंक्शन सबसे अधिक उपयोग किया जाता है और यह एक नई लाइन के साथ टेक्स्ट को कंसोल पर प्रिंट करता है।
fmt.Println("Hello, Golang!")
- fmt.Printf(): यह फ़ंक्शन आपको टेक्स्ट को फॉर्मेट करके प्रिंट करने की सुविधा देता है। आप प्लेसहोल्डर्स का उपयोग करके विभिन्न प्रकार के डेटा को फॉर्मेट कर सकते हैं।
name := "John" age := 30 fmt.Printf("Name: %s, Age: %d\n", name, age)
- fmt.Print(): यह फ़ंक्शन बिना नई लाइन के टेक्स्ट को प्रिंट करता है। नई लाइन के लिए आपको मैन्युअली
\n
का उपयोग करना होगा।fmt.Print("Hello, ") fmt.Print("World!\n")
3. कंसोल इनपुट: स्कैन और स्कैनफ (Console Input: Scan and Scanf):
- fmt.Scan(): यह फ़ंक्शन उपयोगकर्ता से इनपुट प्राप्त करने के लिए उपयोग किया जाता है। यह इनपुट को वेरिएबल्स में स्टोर करता है।
var name string fmt.Print("Enter your name: ") fmt.Scan(&name) fmt.Println("Hello,", name)
- fmt.Scanf(): यह फ़ंक्शन इनपुट को फॉर्मेटेड तरीके से प्राप्त करने के लिए उपयोग किया जाता है। आप इसमें प्लेसहोल्डर्स का उपयोग करके इनपुट को वेरिएबल्स में स्टोर कर सकते हैं।
var name string var age int fmt.Print("Enter your name and age: ") fmt.Scanf("%s %d", &name, &age) fmt.Printf("Name: %s, Age: %d\n", name, age)
4. इनपुट और आउटपुट में एरर हैंडलिंग (Error Handling in Input and Output):
जब आप कंसोल इनपुट प्राप्त करते हैं, तो एरर हैंडलिंग महत्वपूर्ण हो जाती है। यदि उपयोगकर्ता से प्राप्त डेटा वांछित प्रकार का नहीं है, तो एरर उत्पन्न हो सकता है।
var age int fmt.Print("Enter your age: ") _, err := fmt.Scan(&age) if err != nil { fmt.Println("Error:", err) } else { fmt.Println("Your age is:", age) }
5. कंसोल इनपुट-आउटपुट का प्रयोग (Using Console Input and Output):
कंसोल इनपुट और आउटपुट का सही उपयोग आपको अपने प्रोग्राम को इंटरैक्टिव और उपयोगकर्ता के अनुकूल बनाने में मदद करता है। आप उपयोगकर्ता से डेटा प्राप्त करके और उसे प्रोसेस करके अपने प्रोग्राम की कार्यक्षमता को बढ़ा सकते हैं।
कंसोल इनपुट और आउटपुट गोलैंग प्रोग्रामिंग में एक महत्वपूर्ण भूमिका निभाते हैं। यह बुनियादी अवधारणाएँ आपको अपने प्रोग्राम को उपयोगकर्ता के साथ इंटरैक्ट करने के लिए तैयार करने में मदद करेंगी। चाहे आप डेटा प्रिंट कर रहे हों या उपयोगकर्ता से इनपुट ले रहे हों, fmt
पैकेज के ये फ़ंक्शंस आपके लिए आवश्यक टूल्स प्रदान करते हैं।