Junior — Middle
Jak funguje funkce copy v jazyce Go a v jakých případech je její použití oprávněné?
sobes.tech AI
Odpověď od AI
V jazyce Go se funkce copy používá k kopírování prvků z jednoho řezu (slice) do druhého. Má následující podpis:
func copy(dst, src []Type) int
copy kopíruje minimálně délku dst a src prvků a vrací počet zkopírovaných prvků.
Použití je odůvodněné, když je potřeba vytvořit kopii řezu nebo zkopírovat část dat do jiného řezu, aby nedošlo ke změně původních dat při úpravě nového řezu.
Příklad:
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 je užitečné pro vytvoření nezávislých kopií řezů.