Avatar ·

Go में copy() स्लाइस को कॉपी क्यों नहीं करता? या मैं कुछ गलत कर रहा हूँ?

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