Junior — Middle
Как работи функцията copy в езика Go и в кои случаи е оправдано използването й?
sobes.tech AI
Отговор от AI
В Go функцията copy се използва за копиране на елементи от един срез (slice) в друг. Тя има следната сигнатура:
func copy(dst, src []Type) int
copy копира поне толкова елементи, колкото са дължините на dst и src, и връща броя на копираните елементи.
Използването е оправдано, когато е необходимо да се създаде копие на срез или да се копират части от данни в друг срез, за да се избегне промяната на оригиналните данни при модифициране на новия срез.
Пример:
src := []int{1, 2, 3, 4}
dst := make([]int, len(src))
count := copy(dst, src)
fmt.Println(dst) // [1 2 3 4]
fmt.Println(count) // 4
Това е полезно за създаване на независими копия на срезове.