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