Go में copy() स्लाइस को कॉपी क्यों नहीं करता? या मैं कुछ गलत कर रहा हूँ?
सभी को नमस्ते! मैंने हाल ही में Go सीखना शुरू किया है, और स्लाइस (slice) के साथ काम करते समय एक अजीब समस्या का सामना किया। मुझे एक स्लाइस को दूसरे में डुप्लिकेट करना था, ताकि बाद में कॉपी को मूल से स्वतंत्र रूप से बदल सकूं। मैंने पढ़ा था कि इसके लिए बिल्ट-इन फंक्शन `copy()` है।
मैंने यह कोड लिखा:
```go
package main
import "fmt"
func main() {
original := []int{1, 2, 3, 4, 5}
var copySlice []int
copy(copySlice, original)
fmt.Println("original:", original)
fmt.Println("copy:", copySlice)
}
```
लेकिन आउटपुट में मुझे एक खाली स्लाइस मिला! `copySlice` `[]` रह गया। मुझे उम्मीद थी कि `copy()` के बाद `copySlice` में `original` के समान एलिमेंट होंगे।
फिर मैंने दूसरा तरीका आज़माया — पहले स्लाइस को लंबाई के साथ घोषित किया, लेकिन बिना वैल्यू के:
```go
copySlice2 := make([]int,