Array en Golang es una secuencia numerada de elementos del mismo tipo. El tamaño de la array es fijo. Podemos acceder a los elementos por su índice. Puede declarar una array de tamaño n y tipo T especificando esta forma mencionada a continuación.
var array[n]T
Go no tiene una función incorporada para copiar una array a otra array. Hay dos formas de copiar una array a otra array:
- Por valor
- Por referencia
1. Copiar por valor: si copiamos una array por valor y luego se realizan cambios en los valores de la array original, los mismos cambios no se verán reflejados en la copia de la array original.
2. Copiar por referencia: si copiamos una array por referencia y luego hacemos cambios en la array original, se reflejarán en la copia de la array original creada.
Ejemplo:
// Golang program to copy an array by value // and reference into another array package main import "fmt" func main() { // original string strArray := [3]string{"Apple", "Mango", "Guava"} // data is passed by value Arraybyval := strArray // data is passed by reference Arraybyref := &strArray fmt.Printf("strArray: %v\n", strArray) fmt.Printf("Arraybyval : %v\n", Arraybyval) fmt.Printf("*Arraybyref : %v\n", *Arraybyref) strArray[0] = "Watermelon" fmt.Printf("After making changes") fmt.Printf("strArray: %v\n", strArray) fmt.Printf("Arraybyval: %v\n", Arraybyval) fmt.Printf("*Arraybyref: %v\n", *Arraybyref) }
Producción:
strArray: [Apple Mango Guava] Arraybyval : [Apple Mango Guava] *Arraybyref : [Apple Mango Guava] After making changesstrArray: [Watermelon Mango Guava] Arraybyval: [Apple Mango Guava] *Arraybyref: [Watermelon Mango Guava]
Publicación traducida automáticamente
Artículo escrito por devanshigupta1304 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA