En Golang , una función es un grupo de declaraciones que se utilizan para realizar tareas, con un valor de retorno opcional . Go admite dos formas principales de pasar argumentos: pasar por valor y pasar por referencia. Go utiliza el paso por valor de manera predeterminada.

Términos básicos para pasar parámetros a funciones:
- Parámetros reales: Los argumentos pasados a la función.
- Parámetros formales: Los parámetros que recibe la función.
Por ejemplo
package main
import "fmt"
// Cố gắng sửa đổi giá trị của num
func modify(num int) {
num = 50
}
func main() {
num := 20
fmt.Printf("Before, num = %d\n", num)
modify(num)
fmt.Printf("After, num = %d\n", num)
}
En este ejemplo, num
permanece sin cambios después de la llamada modify
porque se pasa por valor.
Sintaxis
func functionName(param Type) {
// function body # Gọi theo giá trị
}
func functionName(param *Type) {
// function body # Gọi theo tham chiếu
}
Llamada por valor
En la llamada por valor, se pasa una copia del valor del parámetro real. Los cambios realizados en la función no afectan a la variable original.
Sintaxis
func functionName(param Type) {
// function body
}
Por ejemplo:
package main
import "fmt"
// Chỉnh sửa giá trị của num
func modify(num int) {
num = 50
}
func main() {
num := 20
fmt.Printf("Before, num = %d\n", num)
modify(num)
fmt.Printf("After, num = %d\n", num)
}
Resultado:
Before, num = 20
After, num = 20
El valor permanece igual, ya que los cambios en el interior modify
no afectan num
al exterior main
.
Argumentos de función en Golang
Llamar por referencia
En la llamada por referencia, se pasa un puntero al parámetro real, por lo que cualquier cambio dentro de la función se refleja en la variable original.
Sintaxis
func functionName(param *Type) {
// function body
}
Por ejemplo:
package main
import "fmt"
// Chỉnh sửa giá trị của num qua tham chiếu
func modify(num *int) {
*num = 50
}
func main() {
num := 20
fmt.Printf("Before, num = %d\n", num)
modify(&num)
fmt.Printf("After, num = %d\n", num)
}
Resultado
Before, num = 20
After, num = 50
Como num
se pasa por referencia, el comando modify
cambiará su valor, lo que se refleja en el comando main
.