Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Pasar Arreglos a Funciones | Arreglos y Slices
Introducción a Golang

bookPasar 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

index.go

copy
123
func myFunc(arr [5] int) { // code here }

El siguiente ejemplo demuestra cómo pasar un arreglo a una función y utilizarlo:

index.go

index.go

copy
123456789101112131415
package 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

index.go

copy
12345678910111213
package 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.

question mark

¿Cuál es el código apropiado para el parámetro de la función myFunc?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 8

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

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

bookPasar 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

index.go

copy
123
func myFunc(arr [5] int) { // code here }

El siguiente ejemplo demuestra cómo pasar un arreglo a una función y utilizarlo:

index.go

index.go

copy
123456789101112131415
package 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

index.go

copy
12345678910111213
package 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.

question mark

¿Cuál es el código apropiado para el parámetro de la función myFunc?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 8
some-alt