Junior — Middle
Jak działa funkcja copy w języku Go i w jakich przypadkach jej użycie jest uzasadnione?
sobes.tech AI
Odpowiedź od AI
W języku Go funkcja copy służy do kopiowania elementów z jednego slice'a do drugiego. Ma sygnaturę:
func copy(dst, src []Type) int
copy kopiuje co najmniej tyle elementów, ile wynosi długość dst i src, i zwraca liczbę skopiowanych elementów.
Użycie jest uzasadnione, gdy trzeba utworzyć kopię slice'a lub skopiować część danych do innego slice'a, aby uniknąć zmiany danych źródłowych podczas modyfikacji nowego slice'a.
Przykład:
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
To jest przydatne do tworzenia niezależnych kopii slice'ów.