1 लूप स्टेटमेंट का अवलोकन

Go भाषा में, लूप स्टेटमेंट का उपयोग हमें कोड ब्लॉक को कई बार चलाने की अनुमति देता है। जब आपको कुछ ऑपरेशन को बार-बार दोहराना होता है, तो लूप स्टेटमेंट बहुत उपयोगी होते हैं। उदाहरण के रूप में, आपको शायद एक एरे में प्रत्येक तत्व पर चलना हो, या फिर किसी विशिष्ट स्थिति तक कोई ऑपरेशन दोहराना हो। Go में, लूप स्टेटमेंट का मुख्य रूप से उपयोग for की शब्दावली से किया जाता है, जो केवल Go भाषा में एकमात्र लूप स्टेटमेंट है। लूप स्टेटमेंट का सही उपयोग दक्ष और रख-रखावशील कोड लिखने के लिए महत्वपूर्ण है।

2 for लूप की मूल बातें

2.1 for लूप की संरचना

Go भाषा में for लूप तीन हिस्सों से मिलकर बना होता है:

  1. प्रारंभिक वक्तव्य: पहले इटरेशन से पहले चलाया जाता है, आम तौर पर एक लूप काउंटर की घोषणा करने के लिए प्रयोग होता है।
  2. शर्त व्यक्ति: प्रत्येक इटरेशन से पहले मूल्यांकन किया जाता है। यदि शर्त सत्य है, तो लूप बॉडी को क्रियान्वित किया जाता है।
  3. पोस्ट वक्तव्य: प्रत्येक इटरेशन के कोड ब्लॉक के बाद चलाया जाता है, आम तौर पर लूप काउंटर को अपडेट करने के लिए प्रयोग होता है।

for लूप की वाक्य-रचना निम्नलिखित है:

for प्रारंभिक वक्तव्य; शर्त व्यक्ति; पोस्ट वक्तव्य {
    // लूप बॉडी कोड
}

2.2 for लूप का सरल उदाहरण

एक सरल उदाहरण के माध्यम से for लूप की निष्पादन प्रक्रिया को समझते हैं:

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        fmt.Println("मैं i का मान है:", i)
    }
}

इस उदाहरण में, चर i को 0 के बराबर घोषित किया गया है। for लूप यह जांचता है कि क्या स्थिति i < 5 सत्य है। यदि स्थिति सत्य है, तो लूप बॉडी को क्रियान्वित किया जाता है और i का मान प्रिंट किया जाता है। लूप बॉडी को क्रियान्वित करने के बाद, i का मान i++ (वृद्धि का ऑपरेशन) द्वारा अपडेट किया जाता है, और फिर लूप फिरसे स्थिति की जांच करता है जब तक i का मान 5 नहीं हो जाता है, जिस समय स्थिति असत्य हो जाती है और for लूप समाप्त होता है।

2.3 अन्य for लूप उदाहरण

Go में, for लूप बहुत विस्तारवादी है और विभिन्न प्रस्थितियों को संभालने के लिए विभिन्न रूपों में लिखा जा सकता है।

2.3.1 अनंत लूप

Go में, आप for लूप के प्रारंभिक वक्तव्य, शर्त व्यक्ति, और पोस्ट वक्तव्य को छोड़ सकते हैं, जिससे एक अनंत लूप बनाया जाता है जो किसी break वक्तव्य या किसी फ़ंक्शन से वापसी मूल्य से समाप्त होगा।

for {
    // अनंत लूप के भीतर कोड
    अगर कोई स्थिति {
        ब्रेक // एक निश्चित स्थिति पूर्ण होने पर लूप से बाहर निकलें

    }
}

2.3.2 केवल शर्त वाला लूप

Go में, आप एक for लूप का उपयोग कर सकते हैं जिसमें केवल एक शर्त हो, अन्य प्रोग्रामिंग भाषाओं में while लूप के समान।

n := 0
for n < 5 {
    fmt.Println(n)
    n++
}

उपरोक्त कोड 0 से 4 तक प्रिंट करेगा, और लूप n को 5 पहुंचते ही समाप्त हो जाएगा।

2.3.3 एरे या स्लाइस के माध्यम से लूप

Go में, range शब्द का उपयोग करके किसी भी एरे या स्लाइस के प्रत्येक तत्व के माध्यम से घुमाव-दाँव को सरलिकृत करने के लिए किया जाता है।

items := []int{1, 2, 3, 4, 5}
for index, value := range items {
    fmt.Printf("इंडेक्स: %d, मान: %d\n", index, value)
}

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

for _, value := range items {
    fmt.Printf("मान: %d\n", value)
}

ध्यान दें: एरे का उपयोग का विवरण आने वाले अध्यायों में विस्तार से समझाया जाएगा। यदि आपको इस हिस्से को समझने में कठिनाई हो रही है, तो कोई बात नहीं, जब तक आप समझते हैं कि for लूप इस तरह से का प्रयोग किया जा सकता है।

2.3.4 मैप को लूप में घुमाएं

मैप को घूमते समय, for लूप और range एक्सप्रेशन का संयोजन बहुत शक्तिशाली है। इससे आप मैप के प्रत्येक कुंजी-मान पैर प्राप्त कर सकते हैं।

colors := map[string]string{"red": "#ff000", "green": "#00ff00", "blue": "#000ff"}
for key, value := range colors {
    fmt.Printf("कुंजी: %s, मान: %s\n", key, value)
}

इस उदाहरण में, हम colors मैप में सभी कुंजियों और उनके संबंधित मानों को प्रिंट करते हैं। सूचियों को घूमते समय, यदि आपको केवल कुंजी या मान की आवश्यकता है, तो आप दूसरे को नजरअंदाज कर सकते हैं।

नोट: मैप के उपयोग का विस्तृत वर्णन आगामी अध्यायों में समझाया जाएगा। यदि आपको यह हिस्सा समझने में समस्या हो, तो यह ठीक है जब तक आपको समझ में आता है कि for लूप इस तरह से उपयोग किया जा सकता है।

3 लूप का फ़्लो नियंत्रित करें

3.1 break का उपयोग लूप को समाप्त करने के लिए

कभी-कभी हमें लूप से पूर्वक निकलने की आवश्यकता होती है जब कोई विशिष्ट स्थिति पूरी होती है, और ऐसे मामलों में, break वक्तव्य का उपयोग किया जा सकता है। नीचे break का उपयोग करके लूप से बाहर निकलने का उदाहरण है:

package main

import "fmt"

func main() {
    for i := 0; i < 10; i++ {
        if i == 5 {
            break // i को 5 बराबर होने पर लूप से बाहर निकलें
        }
        fmt.Println("i का मान है:", i)
    }
    // उत्पाद में केवल 0 से 4 के मान होंगे
}

3.2 continue का उपयोग छलांग देने के लिए

कुछ संदर्भों में, हमें वर्तमान चक्र को छोड़कर अगले चक्र में आगे बढ़ना हो सकता है। इसे continue वक्तव्य का उपयोग करके प्राप्त किया जा सकता है। नीचे एक उदाहरण है:

package main

import "fmt"

func main() {
    for i := 0; i < 10; i++ {
        if i%2 != 0 {
            continue // इस चक्र को छोड़ें अगर i विषम है
        }
        fmt.Println("सम्मिलित संख्या:", i)
    }
}