Pasar Arreglos a Funciones
Una característica valiosa es la capacidad de pasar arreglos a funciones para que podamos utilizar estos arreglos dentro de otros ámbitos, especialmente cuando se declaran localmente.
La sintaxis general para un argumento de arreglo en una función es la siguiente:
argName [expectedArraySize] dataType
La implementación de esto en una función se vería de la siguiente manera:
index.go
123func myFunc(arr [5] int) { // code here }
El siguiente ejemplo demuestra cómo pasar un arreglo a una función y utilizarlo:
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 arreglos siempre se pasan por valor a las funciones. Esto significa que, al pasar un arreglo a una función, se crea una copia local del arreglo original dentro de la función. Por lo tanto, cualquier modificación realizada al arreglo dentro de la función no afectará al arreglo original, ya que los datos a los que se accede dentro de la función son una copia del arreglo original.
El siguiente programa ilustra que realizar cambios en el 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
En contraste con el paso por valor, existe el concepto de paso por referencia, donde se pasa una referencia al arreglo o variable a la función. En consecuencia, modificar el valor dentro de la función también modifica el origen. En algunos lenguajes de programación, los arreglos se pasan por referencia por defecto.
¡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
Can you explain the difference between passing by value and passing by reference in more detail?
Are there ways to modify the original array inside a function in Go?
Can you show an example of passing an array by reference in Go?
Awesome!
Completion rate improved to 1.96
Pasar Arreglos a Funciones
Desliza para mostrar el menú
Una característica valiosa es la capacidad de pasar arreglos a funciones para que podamos utilizar estos arreglos dentro de otros ámbitos, especialmente cuando se declaran localmente.
La sintaxis general para un argumento de arreglo en una función es la siguiente:
argName [expectedArraySize] dataType
La implementación de esto en una función se vería de la siguiente manera:
index.go
123func myFunc(arr [5] int) { // code here }
El siguiente ejemplo demuestra cómo pasar un arreglo a una función y utilizarlo:
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 arreglos siempre se pasan por valor a las funciones. Esto significa que, al pasar un arreglo a una función, se crea una copia local del arreglo original dentro de la función. Por lo tanto, cualquier modificación realizada al arreglo dentro de la función no afectará al arreglo original, ya que los datos a los que se accede dentro de la función son una copia del arreglo original.
El siguiente programa ilustra que realizar cambios en el 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
En contraste con el paso por valor, existe el concepto de paso por referencia, donde se pasa una referencia al arreglo o variable a la función. En consecuencia, modificar el valor dentro de la función también modifica el origen. En algunos lenguajes de programación, los arreglos se pasan por referencia por defecto.
¡Gracias por tus comentarios!