गो की लोकप्रियता पिछले कुछ वर्षों में बढ़ी है। अधिक कंपनियां गो को अपना रही हैं, और डेवलपर पूल भाषा रोल आउट के लिए अधिक उपयोग के मामलों के रूप में बढ़ रहा है। लोग इसका इस्तेमाल फास्ट वेब ऐप्स, ब्लॉकचेन सॉल्यूशंस और मशीन लर्निंग टूल्स से लेकर प्रोग्राम बनाने के लिए करते हैं।
दिन का मेकअप वीडियो
डेवलपर्स गो को इसकी अभिव्यक्ति, उपयोग में आसानी और उच्च भाषा प्रदर्शन के कारण पसंद करते हैं। पैकेज और पुस्तकालयों के तेजी से बढ़ते पारिस्थितिकी तंत्र के साथ अधिकांश भाषाओं की तुलना में गो में तेजी से सीखने की अवस्था है।
गो के साथ शुरुआत करना
गो प्रोग्रामिंग भाषा विंडोज, मैकओएस, या अधिकांश लिनक्स डिस्ट्रो पर पहले से इंस्टॉल नहीं है। गो प्रोग्राम चलाने के लिए आपको गो इंस्टॉल करना होगा। आप अधिकारी की जांच कर सकते हैं डाउनलोड करें इसे अपनी मशीन पर स्थापित करने के लिए पृष्ठ। भाषा का अधिकतम लाभ उठाने के लिए आप गो का नवीनतम संस्करण स्थापित करना चाहेंगे नए संस्करणों में अधिक विशेषताएं हैं और अद्यतन।
एक बार जब आप गो इंस्टॉल कर लेते हैं, तो आप भाषा के साथ काम कर सकते हैं, गो फाइलों को निष्पादित कर सकते हैं, कार्यक्षेत्र बना सकते हैं और गो में प्रोजेक्ट बना सकते हैं।
आप मानक लाइब्रेरी का उपयोग करके एक गो फ़ाइल बना सकते हैं और गो प्रोग्राम चला सकते हैं। हालांकि, यदि आप बाहरी पुस्तकालयों का उपयोग करना चाहते हैं, तो आपको निर्भरता प्रबंधन, संस्करण ट्रैकिंग आदि के लिए एक गो मॉड्यूल फ़ाइल बनानी होगी।
गो मॉड्यूल फ़ाइल
गो में, एक मॉड्यूल एक फ़ाइल ट्री में संकुल का एक संग्रह है जिसमें a गो.मोड फ़ाइल रूट पर। वह फ़ाइल एक सफल निर्माण प्रक्रिया के लिए मॉड्यूल के पथ, आयात पथ और निर्भरता आवश्यकताओं को परिभाषित करती है।
आप गो के साथ एक गो मॉड्यूल फ़ाइल बना सकते हैं के खिलाफ आदेश और गर्मी प्रोजेक्ट के लिए पथ या निर्देशिका निर्दिष्ट करने से पहले उपकमांड।
go mod init project-directory
आदेश बनाता है गो.मोड फ़ाइल। तर्क के बाद गर्मी कमांड मॉड्यूल पथ है। मॉड्यूल पथ आपके होस्ट वातावरण, या रिपॉजिटरी डोमेन पथ पर फ़ाइल पथ हो सकता है।
वेनमो भुगतान कैसे रद्द करें
जब आप बाहरी पैकेज और निर्भरताएँ स्थापित करते हैं, तो go अपडेट हो जाएगा ज़रूरत होना में घोषणा गो.मोड फ़ाइल यह सुनिश्चित करने के लिए कि वे शामिल हैं।
आप का उपयोग कर सकते हैं साफ के उपकमांड के खिलाफ आपके प्रोग्राम के लिए आवश्यक सभी निर्भरताओं को डाउनलोड करने का आदेश।
go mod tidy
कमांड सभी लापता आयातों को गो मॉड्यूल फ़ाइल में डाउनलोड करेगा।
गो पैकेज नेमस्पेस
प्रत्येक गो स्रोत फ़ाइल एक पैकेज से संबंधित है, और आप इसके पहचानकर्ता का उपयोग करके पैकेज नामस्थान के भीतर कोड तक पहुंच सकते हैं।
आपके पैकेज के लिए आपके पास एकाधिक नामस्थान हो सकते हैं। एक बार जब आप एक फ़ोल्डर बना लेते हैं, तो आपने एक नया नाम स्थान बना लिया है। आप अन्य नामस्थानों को डॉट (.) नोटेशन के साथ एक्सेस कर सकते हैं।
// folder 1
package folder
func Folder() any {
// some function body here
return 0;
}
यहां किसी अन्य नामस्थान से भिन्न नामस्थान तक पहुंचने का एक उदाहरण दिया गया है।
// folder 2, file in different namespace
package directory
func directory() {
// accessing the Folder function from the folder namespace
folderFunc := folder.Folder()
}
आप के लिए होगा पहचानकर्ता निर्यात करें बाहरी नामस्थान में किसी पहचानकर्ता तक पहुंचने के लिए नाम को कैपिटल करके।
मुख्य कार्य
मुख्य फ़ंक्शन गो कार्यक्रमों के लिए प्रवेश बिंदु के रूप में कार्य करता है। आप मुख्य फ़ंक्शन के बिना किसी गो फ़ाइल या पैकेज को निष्पादित नहीं कर सकते। आपके पास एक हो सकता है मुख्य किसी भी नामस्थान में कार्य करें; हालाँकि, आपके पास केवल एक होना चाहिए मुख्य किसी फ़ाइल या पैकेज में कार्य करें।
यहाँ एक सरल है हैलो वर्ल्ड प्रोग्राम प्रदर्शित करने के लिए मुख्य समारोह:
package main
import "fmt"
func main {
fmt.Println("Hello, World!")
}
यह कोड घोषित करता है मुख्य में समारोह मुख्य पैकेज नाम स्थान। यह तब आयात करता है एफएमटी पैकेज और उपयोग करता है प्रिंट्लन कंसोल में एक स्ट्रिंग आउटपुट करने की विधि।
Go . में पैकेज आयात करना
कई अन्य भाषाओं की तुलना में, पैकेज और निर्भरता आयात करना आसान है। आयात कीवर्ड पैकेज आयात करने के लिए कार्यक्षमता प्रदान करता है। आप मानक पुस्तकालय और बाहरी निर्भरताओं से पैकेज आयात कर सकते हैं आयात खोजशब्द।
import "fmt"
उपरोक्त उदाहरण में, आप एक पैकेज आयात कर रहे हैं। आप कई पैकेज आयात कर सकते हैं। आपको संकुल को कोष्ठकों में निर्दिष्ट करना होगा आयात बयान।
import (
"fmt" // fmt for printing
"log" // log for logging
"net/http" // http for web applications
"encoding/json" // json for serializing and deserializing structs to JSON
)
आयात विवरण में कोई सीमांकक जोड़ना अमान्य है। आप पैकेज नाम से पहले कस्टम नाम निर्दिष्ट करके आयात के लिए एक कस्टम नाम घोषित कर सकते हैं।
import (
"net/http"
encoder "encoding/json" // alias import here
)
यहां, आपने आयात किया जेसन कस्टम नाम के साथ पैकेज as एनकोडर . आपको कस्टम नाम (एनकोडर) के साथ पैकेज के कार्यों और प्रकारों तक पहुंचना होगा।
कुछ पैकेजों के लिए आपको साइड इफेक्ट के लिए अन्य पैकेज आयात करने की आवश्यकता होती है। आपको पैकेज का नाम अंडरस्कोर के साथ जोड़ना होगा।
import (
_ "fmt" // side effects import
"log"
)
आप साइड इफेक्ट के लिए आयात किए गए पैकेजों तक नहीं पहुंच सकते हैं, लेकिन यदि आप उन्हें कॉन्फ़िगर करते हैं तो निर्भरताएं हो सकती हैं।
गो रन बनाम गो बिल्ड
आप का उपयोग करेंगे दौड़ना तथा बनाना आपके गो कोड को संकलित और निष्पादित करने के लिए आदेश। उनके पास समान कार्यक्षमताएं हैं, और आप उन्हें पैकेज निष्पादित करने के लिए उपयोग करेंगे।
दौड़ना कमांड संकलन और निष्पादन निर्देशों का एक संयोजन है। दौड़ना कमांड कार्यशील निर्देशिका में कोई निष्पादन योग्य बनाए बिना पैकेज को निष्पादित करता है। आपको पैकेज के नाम के बाद फ़ाइल नाम निर्दिष्ट करना होगा दौड़ना आज्ञा।
go run file.go // executes a file
go run packagename // executes the package
बनाना कमांड एक कंपाइलेशन कमांड है जो एक पैकेज या फाइल को बाइनरी एक्जीक्यूटेबल में कंपाइल करता है।
यदि आप चलाते हैं बनाना फ़ाइल या पैकेज नाम के बाद किसी भी तर्क के बिना कमांड, आपके पैकेज की रूट निर्देशिका में एक निष्पादन योग्य उत्पन्न करेगा।
go build main.go // compiles a file
go build "package name" // compiles a package
आपको प्रोग्राम को फिर से कंपाइल करना होगा बनाना आदेश जब आप एक पैकेज बदलते हैं।
आप एक निर्देशिका को एक तर्क के रूप में निर्दिष्ट कर सकते हैं, और बनाना कमांड निर्दिष्ट निर्देशिका में निष्पादन योग्य आउटपुट करेगा।
go build file -o "directory"
आप गो के साथ बहुत कुछ कर सकते हैं
गो मानक पुस्तकालय शक्तिशाली और सहज ज्ञान युक्त है। आप किसी भी बाहरी निर्भरता को स्थापित किए बिना जल्दी से आधुनिक एप्लिकेशन बना सकते हैं।
2009 में गो के रिलीज होने के बाद से, डेवलपर्स और कंपनियों ने इसे कई क्षेत्रों में विभिन्न उपयोग के मामलों के लिए उपयोग किया है। इसकी सफलता मुख्य रूप से इसलिए है क्योंकि गो सी-जैसे प्रदर्शन के साथ-साथ पायथन जैसा सिंटैक्स प्रदान करता है।