আমাকে গোতে একটি স্লাইসের একটি অনুলিপি তৈরি করতে হবে এবং ডকসটি পড়তে হবে আমার নিষ্পত্তি করার জন্য একটি অনুলিপি ফাংশন।
অনুলিপিটি অন্তর্নির্মিত ফাংশন একটি উত্স স্লাইস থেকে উপাদানগুলি একটি গন্তব্য স্লাইসে অনুলিপি করে। (একটি বিশেষ কেস হিসাবে, এটি একটি স্ট্রিং থেকে বাইটের স্লাইসে বাইটগুলি অনুলিপি করবে)) উত্স এবং গন্তব্যটি ওভারল্যাপ হতে পারে। অনুলিপি অনুলিপি করা উপাদানগুলির সংখ্যা প্রদান করে, যা সর্বনিম্ন লেন (এসসিআর) এবং লেন (ডিএসটি) হবে।
কিন্তু যখন আমি করি:
arr := []int{1, 2, 3}
tmp := []int{}
copy(tmp, arr)
fmt.Println(tmp)
fmt.Println(arr)
আমার tmp
আগের মতো শূন্য (আমি ব্যবহারের চেষ্টাও করেছি arr, tmp
):
[]
[1 2 3]
আপনি গো খেলার মাঠে এটি পরীক্ষা করতে পারেন । তাহলে আমি কেন একটি টুকরো অনুলিপি করতে পারি না?
dst
আপনি অনুলিপি করতে চান এমন অনেকগুলি উপাদান অন্তত বড় হওয়া উচিত (এর সম্পূর্ণ অনুলিপিটির src
অর্থ len(dst) >= len(src)
)।
b := append([]int{}, a...)