Go ट्यूटोरियल
- गो ट्यूटोरियल: शुरुआती के लिए एक विस्तृत गाइड
गो (Go), जिसे गोलैंग (Golang) के नाम से भी जाना जाता है, गूगल द्वारा विकसित एक आधुनिक प्रोग्रामिंग भाषा है। यह अपनी सादगी, दक्षता और विश्वसनीयता के लिए जानी जाती है। गो विशेष रूप से नेटवर्क सेवाओं, क्लाउड इंफ्रास्ट्रक्चर और वितरित प्रणालियों के निर्माण के लिए डिज़ाइन की गई है। यह लेख शुरुआती लोगों के लिए गो प्रोग्रामिंग की मूल बातें समझने के लिए एक विस्तृत गाइड प्रदान करता है।
गो का परिचय
गो 2007 में रॉबर्ट ग्रीसमर, रॉब पाइक और केन थॉम्पसन द्वारा डिजाइन की गई थी। इसका लक्ष्य एक ऐसी भाषा बनाना था जो जटिलता की समस्या का समाधान करे जो अन्य प्रोग्रामिंग भाषाओं में मौजूद है। गो एक संकलित (compiled) भाषा है, जिसका अर्थ है कि कोड को मशीन कोड में अनुवादित किया जाता है, जिससे यह तेज और कुशल बनता है।
गो की प्रमुख विशेषताएं:
- **सादगी:** गो में एक सरल सिंटैक्स है जो सीखने और उपयोग करने में आसान है।
- **दक्षता:** गो एक संकलित भाषा है और इसका प्रदर्शन उत्कृष्ट है।
- **समवर्ती (Concurrency):** गो समवर्ती प्रोग्रामिंग के लिए बिल्ट-इन समर्थन प्रदान करता है, जिससे समानांतर में कार्यों को निष्पादित करना आसान हो जाता है। समवर्ती प्रोग्रामिंग
- **स्थिर टाइपिंग (Static Typing):** गो एक स्थिर टाइपिंग वाली भाषा है, जिसका अर्थ है कि त्रुटियों को संकलन समय पर पकड़ा जा सकता है।
- **गारबेज कलेक्शन (Garbage Collection):** गो स्वचालित रूप से मेमोरी प्रबंधन करता है, जिससे मेमोरी लीक की संभावना कम हो जाती है।
- **क्रॉस-प्लेटफॉर्म:** गो कोड को विभिन्न ऑपरेटिंग सिस्टम पर चलाया जा सकता है, जिसमें विंडोज, मैकओएस और लिनक्स शामिल हैं।
गो स्थापित करना
गो को स्थापित करने के लिए, आपको आधिकारिक गो वेबसाइट ([1](https://go.dev/dl/)) से अपने ऑपरेटिंग सिस्टम के लिए उपयुक्त इंस्टॉलर डाउनलोड करना होगा। इंस्टॉलर को डाउनलोड करने और चलाने के बाद, आपको अपने सिस्टम के `PATH` वेरिएबल में गो को जोड़ना होगा।
इंस्टॉलेशन के बाद, आप कमांड प्रॉम्प्ट या टर्मिनल में निम्नलिखित कमांड चलाकर गो इंस्टॉलेशन को सत्यापित कर सकते हैं:
``` go version ```
यह गो के स्थापित संस्करण को प्रिंट करेगा।
आपका पहला गो प्रोग्राम
आइए एक साधारण "हेलो, वर्ल्ड!" प्रोग्राम लिखकर शुरुआत करते हैं। एक टेक्स्ट एडिटर में निम्नलिखित कोड दर्ज करें और इसे `hello.go` के रूप में सहेजें:
```go package main
import "fmt"
func main() {
fmt.Println("हेलो, वर्ल्ड!")
} ```
इस कोड को चलाने के लिए, कमांड प्रॉम्प्ट या टर्मिनल में निम्नलिखित कमांड चलाएँ:
``` go run hello.go ```
यह स्क्रीन पर "हेलो, वर्ल्ड!" प्रिंट करेगा।
इस कोड में:
- `package main`: यह घोषित करता है कि यह प्रोग्राम एक मुख्य पैकेज का हिस्सा है। गो में, प्रत्येक प्रोग्राम एक पैकेज का हिस्सा होता है।
- `import "fmt"`: यह `fmt` पैकेज को आयात करता है, जो इनपुट और आउटपुट कार्यों के लिए उपयोग किया जाता है।
- `func main()`: यह मुख्य फ़ंक्शन है जो प्रोग्राम के निष्पादन के शुरुआती बिंदु के रूप में कार्य करता है।
- `fmt.Println("हेलो, वर्ल्ड!")`: यह `fmt` पैकेज के `Println` फ़ंक्शन का उपयोग करके स्क्रीन पर "हेलो, वर्ल्ड!" प्रिंट करता है।
गो में बुनियादी डेटा प्रकार
गो में कई बुनियादी डेटा प्रकार हैं, जिनमें शामिल हैं:
- **int:** पूर्णांक संख्याएँ (जैसे, 10, -5, 0)। पूर्णांक डेटा प्रकार
- **float64:** फ्लोटिंग-पॉइंट संख्याएँ (जैसे, 3.14, -2.5)। फ्लोटिंग-पॉइंट डेटा प्रकार
- **string:** टेक्स्ट स्ट्रिंग (जैसे, "हेलो", "गो")। स्ट्रिंग डेटा प्रकार
- **bool:** बूलियन मान (true या false)। बूलियन डेटा प्रकार
आप इन डेटा प्रकारों का उपयोग करके चर घोषित कर सकते हैं। उदाहरण के लिए:
```go var age int = 30 var price float64 = 99.99 var name string = "जॉन डो" var isStudent bool = true ```
आप `:=` ऑपरेटर का उपयोग करके चर को संक्षिप्त रूप से भी घोषित और आरंभ कर सकते हैं:
```go age := 30 price := 99.99 name := "जॉन डो" isStudent := true ```
गो में ऑपरेटर
गो में कई ऑपरेटर उपलब्ध हैं, जिनमें शामिल हैं:
- **अंकगणितीय ऑपरेटर:** +, -, *, /, %
- **तुलनात्मक ऑपरेटर:** ==, !=, >, <, >=, <=
- **तार्किक ऑपरेटर:** && (AND), || (OR), ! (NOT)
उदाहरण के लिए:
```go x := 10 y := 5
sum := x + y // 15 difference := x - y // 5 product := x * y // 50 quotient := x / y // 2 remainder := x % y // 0
isEqual := x == y // false isGreater := x > y // true
result := x > y && y < 10 // true ```
गो में नियंत्रण प्रवाह
गो में नियंत्रण प्रवाह स्टेटमेंट आपको कोड के निष्पादन के क्रम को नियंत्रित करने की अनुमति देते हैं। गो में कुछ सामान्य नियंत्रण प्रवाह स्टेटमेंट में शामिल हैं:
- **if स्टेटमेंट:** एक शर्त के आधार पर कोड के एक ब्लॉक को निष्पादित करता है। If स्टेटमेंट
- **for लूप:** कोड के एक ब्लॉक को कई बार निष्पादित करता है। For लूप
- **switch स्टेटमेंट:** कई संभावित मामलों में से एक का चयन करता है। Switch स्टेटमेंट
उदाहरण के लिए:
```go // if स्टेटमेंट age := 20 if age >= 18 {
fmt.Println("आप वोट कर सकते हैं")
} else {
fmt.Println("आप वोट नहीं कर सकते")
}
// for लूप for i := 0; i < 5; i++ {
fmt.Println(i)
}
// switch स्टेटमेंट day := "सोमवार" switch day { case "सोमवार":
fmt.Println("यह सप्ताह का पहला दिन है")
case "मंगलवार":
fmt.Println("यह सप्ताह का दूसरा दिन है")
default:
fmt.Println("यह सप्ताह का कोई अन्य दिन है")
} ```
गो में फ़ंक्शन
फ़ंक्शन कोड के पुन: प्रयोज्य ब्लॉक होते हैं जो एक विशिष्ट कार्य करते हैं। गो में एक फ़ंक्शन को `func` कीवर्ड का उपयोग करके घोषित किया जाता है।
उदाहरण के लिए:
```go func add(x int, y int) int {
return x + y
}
func main() {
result := add(5, 3) fmt.Println(result) // 8
} ```
इस कोड में:
- `func add(x int, y int) int`: यह `add` नामक एक फ़ंक्शन घोषित करता है जो दो पूर्णांक तर्क लेता है और एक पूर्णांक मान लौटाता है।
- `return x + y`: यह फ़ंक्शन दो तर्कों का योग लौटाता है।
गो में एरे और स्लाइस
- **एरे:** एरे एक निश्चित आकार का डेटा तत्वों का संग्रह है। गो में एरे
- **स्लाइस:** स्लाइस एक गतिशील आकार का डेटा तत्वों का संग्रह है। गो में स्लाइस
उदाहरण के लिए:
```go // एरे var numbers [5]int numbers[0] = 1 numbers[1] = 2 numbers[2] = 3 numbers[3] = 4 numbers[4] = 5
// स्लाइस var names = []string{"जॉन", "जेन", "डेविड"} ```
स्लाइस एरे की तुलना में अधिक लचीले होते हैं क्योंकि उनका आकार बदला जा सकता है।
गो में मैप
मैप एक डेटा संरचना है जो कुंजी-मूल्य जोड़े को संग्रहीत करती है। गो में मैप
उदाहरण के लिए:
```go var ages map[string]int ages = make(map[string]int)
ages["जॉन"] = 30 ages["जेन"] = 25 ages["डेविड"] = 40
fmt.Println(ages["जॉन"]) // 30 ```
गो में स्ट्रक्चर
स्ट्रक्चर विभिन्न डेटा प्रकारों के डेटा तत्वों का संग्रह है। गो में स्ट्रक्चर
उदाहरण के लिए:
```go type Person struct {
Name string Age int
}
func main() {
person := Person{Name: "जॉन", Age: 30} fmt.Println(person.Name) // जॉन fmt.Println(person.Age) // 30
} ```
गो में इंटरफेस
इंटरफेस व्यवहार को परिभाषित करते हैं। एक प्रकार एक इंटरफेस को लागू करता है यदि वह इंटरफेस द्वारा परिभाषित सभी विधियों को लागू करता है। गो में इंटरफेस
गो में त्रुटि हैंडलिंग
गो में त्रुटि हैंडलिंग महत्वपूर्ण है। फ़ंक्शन अक्सर त्रुटि मान लौटाते हैं, जिनका उपयोग यह जांचने के लिए किया जा सकता है कि कोई ऑपरेशन सफलतापूर्वक पूरा हुआ या नहीं। गो में त्रुटि हैंडलिंग
गो में समवर्ती
गो समवर्ती प्रोग्रामिंग के लिए बिल्ट-इन समर्थन प्रदान करता है। गो में समवर्ती को गोरोटीन और चैनलों का उपयोग करके लागू किया जाता है। गो में समवर्ती
गो में पैकेज
पैकेज कोड के पुन: प्रयोज्य मॉड्यूल होते हैं। गो में कई मानक पैकेज उपलब्ध हैं, और आप अपने स्वयं के कस्टम पैकेज भी बना सकते हैं। गो में पैकेज
गो में परीक्षण
गो में परीक्षण महत्वपूर्ण है। गो में यूनिट परीक्षण लिखने के लिए `testing` पैकेज का उपयोग किया जा सकता है। गो में परीक्षण
इस ट्यूटोरियल में गो प्रोग्रामिंग की बुनियादी अवधारणाओं को शामिल किया गया है। गो एक शक्तिशाली और बहुमुखी भाषा है जो विभिन्न प्रकार के अनुप्रयोगों के लिए उपयोग की जा सकती है। अधिक जानने के लिए, आधिकारिक गो दस्तावेज़ ([2](https://go.dev/doc/)) देखें।
यहाँ कुछ अतिरिक्त लिंक दिए गए हैं जो आपको गो सीखने में मदद कर सकते हैं:
- [[गो बाय एग्जांपल](https://gobyexample.com/)]
- [[ए टूर ऑफ़ गो](https://go.dev/tour/welcome/1)]
- [[गो ब्लॉग](https://go.dev/blog/)]
- [[गो पैकेज](https://pkg.go.dev/)]
- संबंधित रणनीतियाँ, तकनीकी विश्लेषण और वॉल्यूम विश्लेषण के लिए लिंक:**
चूंकि गो एक प्रोग्रामिंग भाषा है, इसलिए यह सीधे तौर पर वित्तीय बाजारों या बाइनरी विकल्पों से संबंधित नहीं है। हालांकि, इसका उपयोग ट्रेडिंग बॉट्स, डेटा विश्लेषण उपकरण और अन्य वित्तीय अनुप्रयोगों को बनाने के लिए किया जा सकता है। यहाँ कुछ संबंधित विषय हैं और वे गो से कैसे संबंधित हो सकते हैं:
- मूविंग एवरेज - गो का उपयोग ऐतिहासिक डेटा पर मूविंग एवरेज की गणना करने के लिए किया जा सकता है।
- आरएसआई (रिलेटिव स्ट्रेंथ इंडेक्स) - गो का उपयोग आरएसआई की गणना करने और ट्रेडिंग संकेतों को उत्पन्न करने के लिए किया जा सकता है।
- MACD (मूविंग एवरेज कन्वर्जेंस डाइवर्जेंस) - गो का उपयोग MACD की गणना करने और ट्रेडिंग रणनीतियों को लागू करने के लिए किया जा सकता है।
- बोलिंगर बैंड - गो का उपयोग बोलिंगर बैंड की गणना करने और संभावित ब्रेकआउट की पहचान करने के लिए किया जा सकता है।
- फिबोनाची रिट्रेसमेंट - गो का उपयोग फिबोनाची रिट्रेसमेंट स्तरों की गणना करने और समर्थन और प्रतिरोध क्षेत्रों की पहचान करने के लिए किया जा सकता है।
- कैंडलस्टिक पैटर्न - गो का उपयोग ऐतिहासिक डेटा से कैंडलस्टिक पैटर्न की पहचान करने के लिए किया जा सकता है।
- वॉल्यूम विश्लेषण - गो का उपयोग वॉल्यूम डेटा का विश्लेषण करने और बाजार के रुझानों की पुष्टि करने के लिए किया जा सकता है। वॉल्यूम विश्लेषण
- बैकटेस्टिंग - गो का उपयोग ऐतिहासिक डेटा पर ट्रेडिंग रणनीतियों को बैकटेस्ट करने के लिए किया जा सकता है। बैकटेस्टिंग
- जोखिम प्रबंधन - गो का उपयोग जोखिम प्रबंधन रणनीतियों को लागू करने और पोर्टफोलियो को अनुकूलित करने के लिए किया जा सकता है। जोखिम प्रबंधन
- एल्गोरिथम ट्रेडिंग - गो का उपयोग स्वचालित ट्रेडिंग सिस्टम बनाने के लिए किया जा सकता है। एल्गोरिथम ट्रेडिंग
- मशीन लर्निंग फॉर फाइनेंस - गो का उपयोग वित्तीय डेटा पर मशीन लर्निंग मॉडल को प्रशिक्षित करने और भविष्यवाणियां करने के लिए किया जा सकता है। मशीन लर्निंग फॉर फाइनेंस
- समय श्रृंखला विश्लेषण - गो का उपयोग वित्तीय समय श्रृंखला डेटा का विश्लेषण करने के लिए किया जा सकता है। समय श्रृंखला विश्लेषण
- डेटा विज़ुअलाइज़ेशन - गो का उपयोग वित्तीय डेटा को विज़ुअलाइज़ करने के लिए किया जा सकता है। डेटा विज़ुअलाइज़ेशन
- रियल-टाइम डेटा फीड - गो का उपयोग रियल-टाइम डेटा फीड से डेटा प्राप्त करने और संसाधित करने के लिए किया जा सकता है।
- एपीआई एकीकरण - गो का उपयोग विभिन्न वित्तीय एपीआई के साथ एकीकृत करने के लिए किया जा सकता है। एपीआई एकीकरण
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री