Pasar Arreglos a Funciones
Una característica valiosa es la posibilidad de pasar matrices a las funciones para que podamos utilizar estas matrices dentro de otros ámbitos, especialmente cuando se declaran localmente.
La sintaxis general para un argumento de matriz en una función es la siguiente:
argName [expectedArraySize] dataType
Implementar esto en una función sería algo como esto:
index.go
123func myFunc(arr [5] int) { // code here }
El siguiente ejemplo muestra cómo pasar una matriz a una función y utilizarla:
index.go
123456789101112131415package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }
En Go (Golang), los arrays siempre se pasan por valor a las funciones. Esto significa que cuando pasamos un array a una función, se crea una copia local del array original dentro de la función. Consecuentemente, cualquier modificación hecha al array dentro de la función no afectará al array original porque los datos a los que se accede dentro de la función son una copia del array original.
El siguiente programa ilustra que hacer cambios al arreglo dentro de la función no afecta al arreglo original:
index.go
12345678910111213package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }
Nota
A diferencia del paso por valor, existe el concepto de paso por referencia, en el que se pasa a la función una referencia a la matriz o variable. En consecuencia, modificar el valor dentro de la función también modifica la fuente. En algunos lenguajes de programación, las matrices se pasan por referencia de forma predeterminada.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 1.96
Pasar Arreglos a Funciones
Desliza para mostrar el menú
Una característica valiosa es la posibilidad de pasar matrices a las funciones para que podamos utilizar estas matrices dentro de otros ámbitos, especialmente cuando se declaran localmente.
La sintaxis general para un argumento de matriz en una función es la siguiente:
argName [expectedArraySize] dataType
Implementar esto en una función sería algo como esto:
index.go
123func myFunc(arr [5] int) { // code here }
El siguiente ejemplo muestra cómo pasar una matriz a una función y utilizarla:
index.go
123456789101112131415package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }
En Go (Golang), los arrays siempre se pasan por valor a las funciones. Esto significa que cuando pasamos un array a una función, se crea una copia local del array original dentro de la función. Consecuentemente, cualquier modificación hecha al array dentro de la función no afectará al array original porque los datos a los que se accede dentro de la función son una copia del array original.
El siguiente programa ilustra que hacer cambios al arreglo dentro de la función no afecta al arreglo original:
index.go
12345678910111213package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }
Nota
A diferencia del paso por valor, existe el concepto de paso por referencia, en el que se pasa a la función una referencia a la matriz o variable. En consecuencia, modificar el valor dentro de la función también modifica la fuente. En algunos lenguajes de programación, las matrices se pasan por referencia de forma predeterminada.
¡Gracias por tus comentarios!