Sobes.tech
Junior — Middle

Come funziona la funzione copy nel linguaggio Go e in quali casi è giustificato il suo utilizzo?

sobes.tech AI

Risposta dell'AI

In Go, la funzione copy viene utilizzata per copiare gli elementi da un slice a un altro. Ha la seguente firma:

func copy(dst, src []Type) int

copy copia almeno la lunghezza di dst e src elementi e restituisce il numero di elementi copiati.

L'uso è giustificato quando si desidera creare una copia di un slice o copiare parte dei dati in un altro slice, per evitare di modificare i dati originali durante la modifica del nuovo slice.

Esempio:

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

Questo è utile per creare copie indipendenti di slice.