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,

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग