Sobes.tech
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

Това е полезно за създаване на независими копия на срезове.