How do I copy one slice to another efficiently in Go?

In Go, copying one slice to another efficiently can be done using the built-in `copy` function. This function takes in two slices as arguments: the destination slice and the source slice. The copy function copies elements from the source slice to the destination slice and returns the number of elements copied. It efficiently handles memory and ensures that the data is transferred accurately without any manual iteration required.

Here’s how you can use the `copy` function to copy one slice to another:

package main import "fmt" func main() { source := []int{1, 2, 3, 4, 5} destination := make([]int, len(source)) // Copying the source slice to destination slice n := copy(destination, source) fmt.Println("Source Slice:", source) fmt.Println("Destination Slice:", destination) fmt.Println("Number of elements copied:", n) }

Go slice copy slice efficiently copy in Go Go programming