What are Arrays in Go?
Arrays Go में एक fixed-size sequence होते हैं, जो एक ही type के elements को store करते हैं। Arrays को तब use किया जाता है जब आपको एक known और fixed size का data collection manage करना हो। एक बार array की size निर्धारित हो जाने के बाद उसे change नहीं किया जा सकता।
Basic Syntax for Declaring an Array
Go में array को declare करने के लिए आप निम्नलिखित syntax का उपयोग कर सकते हैं:
var arrayName [size]elementType
arrayName: Array का नाम।
size: Array में कितने elements होंगे, यह size fixed होती है।
elementType: Array में किस type के elements होंगे, यह type को specify करता है।
Example: Declaring an Integer Array
package main
import "fmt"
func main() {
var numbers [5]int // Declares an array of 5 integers
fmt.Println("Array:", numbers)
}
Explanation:
var numbers [5]int:
यह statement एक integer array declare करता है जिसमें 5 elements होंगे। Default values सभी elements की 0 होगी।- Output:
"Array: [0 0 0 0 0]"
1. Initializing an Array
Array को declare करने के समय आप उसे initialize भी कर सकते हैं। Initialization का मतलब है कि array के elements को initial values assign करना।
Example: Initializing an Array
package main
import "fmt"
func main() {
// Initialize an array with specific values
numbers := [5]int{10, 20, 30, 40, 50}
fmt.Println("Array:", numbers)
}
Explanation:
numbers := [5]int{10, 20, 30, 40, 50}:
इस statement में array numbers को initialize किया गया है, जिसमें 5 elements हैं, और उनकी initial values 10, 20, 30, 40, और 50 हैं।- Output:
"Array: [10 20 30 40 50]"
2. Array with Implicit Length
Go में आप array की length को implicit रूप से भी declare कर सकते हैं। इसका मतलब है कि आप initialization list के आधार पर array की length को determine करने के लिए Go compiler पर छोड़ सकते हैं।
Example: Array with Implicit Length
package main
import "fmt"
func main() {
// Array length is inferred from the number of elements
numbers := [...]int{10, 20, 30, 40, 50}
fmt.Println("Array:", numbers)
fmt.Println("Length of array:", len(numbers))
}
Explanation:
numbers := [...]int{10, 20, 30, 40, 50}:
यहां[...]
का मतलब है कि array की length initialization list के elements की count के आधार पर infer होगी।len(numbers):
len()
function array की length return करता है।- Output:
"Array: [10 20 30 40 50]"
और"Length of array: 5"
3. Accessing and Modifying Array Elements
Array elements को access करने के लिए आप index का उपयोग करते हैं। Go में array indexing 0 से शुरू होती है।
Example: Accessing and Modifying Array Elements
package main
import "fmt"
func main() {
numbers := [5]int{10, 20, 30, 40, 50}
// Access elements using index
fmt.Println("First element:", numbers[0])
fmt.Println("Third element:", numbers[2])
// Modify an element
numbers[2] = 35
fmt.Println("Modified array:", numbers)
}
Explanation:
numbers[0]
औरnumbers[2]:
Array के first और third elements को access किया गया है।numbers[2] = 35:
Third element को modify किया गया है।- Output:
"First element: 10"
,"Third element: 30"
, और"Modified array: [10 20 35 40 50]"
4. Iterating Over an Array
Go में for
loop और range
keyword का उपयोग करके आप arrays के elements को iterate कर सकते हैं।
Example: Iterating Over an Array
package main
import "fmt"
func main() {
numbers := [5]int{10, 20, 30, 40, 50}
// Using for loop with index
fmt.Println("Using for loop:")
for i := 0; i < len(numbers); i++ {
fmt.Printf("Element at index %d: %d\n", i, numbers[i])
}
// Using range keyword
fmt.Println("\nUsing range keyword:")
for index, value := range numbers {
fmt.Printf("Element at index %d: %d\n", index, value)
}
}
Explanation:
for i := 0; i < len(numbers); i++:
Traditionalfor
loop का उपयोग करते हुए array के elements को access किया गया है।for index, value := range numbers:
range
keyword के साथ array के elements और उनके index को access किया गया है।- Output: "Using for loop:", "Using range keyword:" के साथ सभी elements और उनके indexes print होंगे।
5. Multi-Dimensional Arrays
Go में आप multi-dimensional arrays भी बना सकते हैं। सबसे common प्रकार का multi-dimensional array है 2D array, जो rows और columns का representation होता है।
Example: 2D Array
package main
import "fmt"
func main() {
// 2D array with 2 rows and 3 columns
matrix := [2][3]int{
{1, 2, 3},
{4, 5, 6},
}
// Accessing elements
fmt.Println("Matrix:")
for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
fmt.Printf("%d ", matrix[i][j])
}
fmt.Println()
}
}
Explanation:
matrix := [2][3]int{...}:
यह 2D array है जिसमें 2 rows और 3 columns हैं।- Nested
for
loop का उपयोग करके array के elements को access और print किया गया है। - Output: "Matrix:" के साथ 2D array matrix के सभी elements print होंगे।
6. Arrays are Value Types
Go में arrays value types होते हैं, जिसका मतलब है कि जब आप array को किसी दूसरे variable में assign करते हैं या function में pass करते हैं, तो array की एक copy create होती है। Original array में कोई भी change उस copied array को affect नहीं करेगा, और vice versa।
Example: Arrays as Value Types
package main
import "fmt"
func modifyArray(arr [5]int) {
arr[0] = 100
fmt.Println("Inside modifyArray function:", arr)
}
func main() {
numbers := [5]int{10, 20, 30, 40, 50}
modifyArray(numbers)
fmt.Println("Outside modifyArray function:", numbers)
}
Explanation:
modifyArray(arr [5]int):
यह function array की एक copy को modify करता है, original array को नहीं।numbers:
जबnumbers
को function में pass किया जाता है, तो उसकी copy modify होती है।- Output: "Inside modifyArray function: [100 20 30 40 50]" और "Outside modifyArray function: [10 20 30 40 50]" दिखाएगा कि original array unchanged रहता है।
7. Slices vs Arrays
Arrays और slices में मुख्य अंतर यह है कि slices dynamic होते हैं और उनकी size को runtime पर change किया जा सकता है, जबकि arrays की size fixed होती है। Arrays की fixed size के कारण slices अधिकतर use किए जाते हैं।
Example: Slices (for Comparison)
package main
import "fmt"
func main() {
numbers := []int{10, 20, 30, 40, 50} // Slice
fmt.Println("Slice:", numbers)
}
Explanation:
numbers := []int{10, 20, 30, 40, 50}:
यह slice declaration है, जो कि array के बिना fixed size के होता है।
Summary
- Arrays: Fixed-size sequence of elements of the same type।
- Declaration and Initialization: Arrays को declare और initialize किया जा सकता है, और initialization के समय उनकी length को infer किया जा सकता है।
- Accessing and Modifying: Array elements को उनके index के द्वारा access और modify किया जा सकता है।
- Iteration: Arrays के elements को iterate करने के लिए
for
loop औरrange
keyword का उपयोग किया जा सकता है। - Multi-Dimensional Arrays: Go में multi-dimensional arrays का उपयोग complex data structures के लिए किया जा सकता है।
- Value Types: Arrays value types होते हैं, यानी कि वे function में pass होने पर या assignment के दौरान copy होते हैं।
- Slices vs Arrays: Slices dynamic होते हैं और arrays की तुलना में अधिक flexible होते हैं।
Go में arrays का उपयोग basic और fixed-size data collections के लिए किया जाता है। अगर आपको arrays के बारे में और जानकारी चाहिए या कोई specific सवाल है, तो बताइए!
No comments:
Post a Comment