What is for Loop in Go?
Go में for
loop सबसे basic और केवल एक ही loop construct है, जो code के एक block को repeatedly execute करने के लिए इस्तेमाल किया जाता है। Go में for
loop का उपयोग करके आप एक sequence of values, numbers, या elements के साथ iteration कर सकते हैं।
Basic Structure of for Loop
Go में for
loop की basic syntax कुछ इस प्रकार होती है:
for initialization; condition; post {
// loop body
}
- Initialization: Loop शुरू होने से पहले की जाने वाली initialization statements (e.g.,
i := 0
). - Condition: हर iteration से पहले check की जाने वाली condition. जब तक condition
true
रहती है, loop execute होता रहता है। - Post: Loop body execute होने के बाद हर बार execute होने वाला statement (e.g.,
i++
).
1. Basic for Loop
Example: Simple Counter Loop
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println("Value of i:", i)
}
}
Explanation:
i := 0:
Initialization statement, जहांi
की initial value0
है।i < 5:
Condition, जब तक यहtrue
रहती है, loop चलता रहता है।i++:
Post statement, जो हर iteration के बादi
की value को increment करता है।- Output: Loop 5 बार चलेगा और
i
की values को print करेगा (0 से 4 तक)।
2. for as a while Loop
Go में for
loop का उपयोग while
loop की तरह भी किया जा सकता है। इसमें initialization और post statements को छोड़ दिया जाता है।
Example: for as while Loop
package main
import "fmt"
func main() {
i := 0
for i < 5 {
fmt.Println("Value of i:", i)
i++
}
}
Explanation:
- यहां initialization loop के बाहर की गई है (
i := 0
), और condition for loop में है (i < 5
). i++
को loop body में रखा गया है, जो हर iteration के बाद execute होता है।- यह loop भी 0 से 4 तक के values को print करेगा।
3. Infinite Loop
अगर आप कोई condition नहीं देते हैं, तो for
loop infinite loop बन जाता है, जो तब तक चलता है जब तक program को manually terminate नहीं किया जाता।
Example: Infinite Loop
package main
import "fmt"
func main() {
for {
fmt.Println("This loop will run forever")
}
}
Explanation:
- यहां कोई condition नहीं है, इसलिए loop कभी खत्म नहीं होगा।
- यह loop continuously "This loop will run forever" print करता रहेगा।
4. Looping Over Collections (range)
Go में for
loop का इस्तेमाल arrays, slices, maps, strings, और channels के elements को iterate करने के लिए range
keyword के साथ भी किया जा सकता है।
Example: Looping Over a Slice
package main
import "fmt"
func main() {
numbers := []int{1, 2, 3, 4, 5}
for index, value := range numbers {
fmt.Printf("Index: %d, Value: %d\n", index, value)
}
}
Explanation:
numbers
एक slice है जिसमें integers हैं।range numbers:
यह slice के हर element पर iterate करता है।index, value:
range loop में हर iteration पर slice केindex
औरvalue
return होते हैं।- Output: Index और उसके corresponding value को print करेगा।
5. Breaking and Continuing in Loops
आप loops में break
और continue
statements का इस्तेमाल करके loop को control कर सकते हैं:
- break: Loop को पूरी तरह से terminate करने के लिए।
- continue: Current iteration को skip करके next iteration को execute करने के लिए।
Example: Using break and continue
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 5 {
break // Loop will exit when i is 5
}
if i%2 == 0 {
continue // Skip even numbers
}
fmt.Println("Odd number:", i)
}
}
Explanation:
- Loop तब terminate हो जाएगा जब
i
की value5
हो जाएगी (break
statement)। - अगर
i
even number है, तो current iteration को skip कर देगा और next iteration पर चला जाएगा (continue
statement)। - Output: केवल odd numbers (1, 3) print करेगा, और loop
5
पर terminate हो जाएगा।
Summary
- Basic for Loop: Initialization, condition, और post statement का उपयोग करके simple loop create किया जा सकता है।
- while Loop: Go में
for
loop का उपयोगwhile
loop की तरह किया जा सकता है। - Infinite Loop: Condition को omit करके infinite loop create किया जा सकता है।
- Looping with range:
range
keyword का उपयोग करके arrays, slices, maps, आदि के elements को iterate किया जा सकता है। - break और continue:
for
loop के control के लिएbreak
औरcontinue
statements का इस्तेमाल किया जा सकता है।
Go में for
loop बहुत flexible है और इसे विभिन्न तरीकों से इस्तेमाल किया जा सकता है। अगर आपको for
loop के बारे में और जानकारी चाहिए या कोई specific सवाल है, तो बताइए!
No comments:
Post a Comment