Translate

Understanding the Meaning of "GO" in Hindi | Go in Hindi

Understanding the Meaning of "GO" in Hindi ➡ Hello and Welcome to All Our Visitors from around the world! We’re excited to hav...

Range in golang

What is range in Go?

Go में range एक keyword है जिसका उपयोग arrays, slices, maps, strings, और channels के elements पर iterate करने के लिए किया जाता है। range loop आपको प्रत्येक element के साथ associated index और value को आसानी से access करने की सुविधा देता है।

Usage of range in Different Data Structures

1. range with Slices and Arrays

जब आप slices या arrays के साथ range का उपयोग करते हैं, तो यह प्रत्येक element के index और value को return करता है।

Example: Iterating Over a Slice

package main

import "fmt"

func main() {
    numbers := []int{10, 20, 30, 40, 50}

    for index, value := range numbers {
        fmt.Printf("Index: %d, Value: %d\n", index, value)
    }
}

Explanation:

  • range numbers: यह slice numbers के प्रत्येक element पर iterate करता है।
  • index, value := range numbers: range loop प्रत्येक iteration में index और value return करता है।
  • Output: यह slice के सभी elements के index और value को print करेगा।

Ignoring the Index or Value

अगर आपको केवल value चाहिए और index नहीं चाहिए, तो आप index को _ से ignore कर सकते हैं। Similarly, आप value को भी ignore कर सकते हैं।

Example: Ignoring Index
package main

import "fmt"

func main() {
    numbers := []int{10, 20, 30, 40, 50}

    for _, value := range numbers {
        fmt.Printf("Value: %d\n", value)
    }
}

Explanation:

  • _, value := range numbers: यह सिर्फ value को iterate करता है और index को ignore कर देता है।
Example: Ignoring Value
package main

import "fmt"

func main() {
    numbers := []int{10, 20, 30, 40, 50}

    for index := range numbers {
        fmt.Printf("Index: %d\n", index)
    }
}

Explanation:

  • index := range numbers: यह सिर्फ index को iterate करता है और value को ignore कर देता है।

2. range with Maps

Maps में range का उपयोग key-value pairs पर iterate करने के लिए किया जाता है।

Example: Iterating Over a Map

package main

import "fmt"

func main() {
    fruits := map[string]string{"a": "Apple", "b": "Banana", "c": "Cherry"}

    for key, value := range fruits {
        fmt.Printf("Key: %s, Value: %s\n", key, value)
    }
}

Explanation:

  • range fruits: यह map fruits के प्रत्येक key-value pair पर iterate करता है।
  • key, value := range fruits: range loop में हर बार key और value return होते हैं।
  • Output: यह map के सभी key-value pairs को print करेगा।

3. range with Strings

Strings में range का उपयोग करके आप string के प्रत्येक character (rune) पर iterate कर सकते हैं। यह character के index और Unicode value (rune) को return करता है।

Example: Iterating Over a String

package main

import "fmt"

func main() {
    word := "GoLang"

    for index, runeValue := range word {
        fmt.Printf("Index: %d, Rune: %c\n", index, runeValue)
    }
}

Explanation:

  • range word: यह string word के प्रत्येक character पर iterate करता है।
  • index, runeValue := range word: यह loop प्रत्येक character का index और उसकी Unicode value को return करता है।
  • Output: यह string के सभी characters और उनके index को print करेगा।

4. range with Channels

Channels के साथ range का उपयोग channels से values को receive करने के लिए किया जाता है, जब तक कि channel close न हो जाए।

Example: Iterating Over a Channel

package main

import "fmt"

func main() {
    ch := make(chan int, 3)
    ch <- 1="" 2="" 3="" :="range" ch="" close="" code="" eceived:="" fmt.println="" for="" value="">

Explanation:

  • range ch: यह channel ch के प्रत्येक value पर iterate करता है।
  • जब तक channel close नहीं हो जाता, range loop channel से values को receive करता रहता है।
  • Output: यह channel के सभी values को print करेगा।

Summary

  • Slices और Arrays: range के साथ आप slices और arrays के elements को iterate कर सकते हैं, और index-value pair को access कर सकते हैं।
  • Maps: range के साथ आप maps के key-value pairs पर iterate कर सकते हैं।
  • Strings: range के साथ आप strings के characters (runes) पर iterate कर सकते हैं।
  • Channels: range के साथ आप channels से values को receive कर सकते हैं, जब तक कि channel close न हो जाए।
  • Ignoring Index या Value: आप index या value में से किसी एक को ignore भी कर सकते हैं, अगर उसकी जरूरत नहीं है।

range Go में iteration का एक powerful tool है, जो आपको विभिन्न data structures के साथ आसानी से काम करने की सुविधा देता है। अगर आपको range के बारे में और जानकारी चाहिए या कोई specific सवाल है, तो बताइए!

No comments: