Go:
नया प्रोजेक्ट शुरू करना

कैसे करें:

पहले, यह सुनिश्चित करें कि आपने Go इंस्टॉल किया है, अपने टर्मिनल में go version चलाकर। आपको आउटपुट के रूप में Go का जो संस्करण इंस्टॉल किया है वह दिखाई देना चाहिए। अगला, एक नई परियोजना शुरू करने के लिए, अपने कार्यस्थल पर जाएँ और चलाएँ:

mkdir हैलो-वर्ल्ड
cd हैलो-वर्ल्ड

यह आपकी परियोजना के लिए एक नई निर्देशिका बनाता है और आपको उसमें स्थानांतरित करता है। अब, मॉड्यूल को प्रारंभ करें:

go mod init example.com/hello-world

example.com/hello-world को अपने मॉड्यूल पथ से बदलें। यह कमांड आपकी निर्देशिका में एक go.mod फ़ाइल बनाता है, जो एक नए Go मॉड्यूल की शुरुआत का संकेत है। go.mod ऐसा दिख सकता है:

module example.com/hello-world

go 1.18

go.mod आपकी परियोजना की निर्भरताओं को ट्रैक करता है। अब, एक main.go फाइल बनाएं:

touch main.go

main.go को अपने पसंदीदा संपादक में खोलें और “Hello, World!” प्रिंट करने के लिए निम्नलिखित कोड जोड़ें:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

अपने कार्यक्रम को चलाने के लिए, टर्मिनल में वापस जाएं और निष्पादित करें:

go run main.go

आपको दिखाई देगा:

Hello, World!

बधाई हो! आपने अभी एक नई Go परियोजना शुरू की है और अपना पहला Go कार्यक्रम चलाया है।

गहराई से जानिए

Go में निर्भरता प्रबंधन के लिए मॉड्यूल्स को मानक के रूप में पेश करने की पहल Go इकोसिस्टम में एक महत्वपूर्ण बदलाव था, जिसे आधिकारिक रूप से Go 1.11 में अपनाया गया था। मॉड्यूल्स से पहले, Go डेवलपर्स निर्भरताओं को प्रबंधित करने के लिए GOPATH वातावरण चर का उपयोग करते थे, जो कम सहज था और अक्सर “निर्भरता नरक” की ओर ले जाता था।

मॉड्यूल्स निर्भरताओं को प्रबंधित करने का एक अलग-थलग तरीका प्रदान करते हैं, संस्करणिंग को सक्षम बनाते हैं, और Go परियोजनाओं को अधिक स्वयं-समाहित और पोर्टेबल बनाने की ओर एक कदम हैं। प्रत्येक मॉड्यूल अपनी निर्भरताओं को निर्दिष्ट करता है जिसका Go go.mod फ़ाइल में ट्रैक करता है, विभिन्न वातावरणों और विकास के चरणों में निर्भरता प्रबंधन को सरल बनाता है।

हालांकि, यह उल्लेखनीय है कि जबकि Go मॉड्यूल्स अब मानक हैं, कुछ पुरानी परियोजनाएँ अभी भी GOPATH का उपयोग कर सकती हैं। अधिकांश नई परियोजनाओं के लिए, मॉड्यूल्स एक अधिक सरल और प्रभावी प्रबंधन प्रणाली प्रदान करते हैं, लेकिन पुराने Go कोडबेसों को बनाए रखने या उनमें यो CONTRIBUTING करने के लिए GOPATH को समझना उपयोगी हो सकता है।

विकल्पों के संदर्भ में, जबकि Go मॉड्यूल्स अब de facto मानक हैं, Go समुदाय ने अतीत में dep जैसे अन्य निर्भरता प्रबंधन उपकरणों के साथ प्रयोग किया है। हालांकि, इन्हें ज्यादातर Go टूलचेन में एकीकृत आधिकारिक मॉड्यूल समर्थन द्वारा प्रतिस्थापित कर दिया गया है।