Junior — Middle
¿Cómo se pasan los argumentos a las funciones en el lenguaje Go?
sobes.tech AI
Respuesta de la IA
En el lenguaje Go, los argumentos en las funciones se pasan por valor. Esto significa que al llamar a una función, se pasan copias de los valores de los argumentos, y los cambios dentro de la función no afectan a las variables originales.
Si se necesita modificar el valor de una variable desde el código que llama, se pasa un puntero a esa variable. Entonces, la función recibe la dirección y puede cambiar el valor en esa dirección.
Ejemplo de paso por valor y por puntero:
package main
import "fmt"
func incrementByValue(x int) {
x = x + 1
}
func incrementByPointer(x *int) {
*x = *x + 1
}
func main() {
a := 5
incrementByValue(a)
fmt.Println(a) // Imprimirá 5, ya que se pasa por valor
incrementByPointer(&a)
fmt.Println(a) // Imprimirá 6, ya que se pasa un puntero
}