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