Ir valor de transferencia de valor la función del lenguaje
Transferencia significa que cuando se llama a la función para copiar los parámetros reales pasados a una función, por lo que si los parámetros de la función se pueden modificar, no afectará a los parámetros reales.
Por defecto, el idioma Go se pasa por valor, es decir, durante la llamada no afectará a los parámetros reales.
Las siguientes definiciones de la función de intercambio ():
/* 定义相互交换值的函数 */ func swap(x, y int) int { var temp int temp = x /* 保存 x 的值 */ x = y /* 将 y 值赋给 x */ y = temp /* 将 temp 值赋给 y*/ return temp; }
A continuación, vamos a utilizar el valor que se pasa a la función de intercambio de llamadas ():
package main import "fmt" func main() { /* 定义局部变量 */ var a int = 100 var b int = 200 fmt.Printf("交换前 a 的值为 : %d\n", a ) fmt.Printf("交换前 b 的值为 : %d\n", b ) /* 通过调用函数来交换值 */ swap(a, b) fmt.Printf("交换后 a 的值 : %d\n", a ) fmt.Printf("交换后 b 的值 : %d\n", b ) } /* 定义相互交换值的函数 */ func swap(x, y int) int { var temp int temp = x /* 保存 x 的值 */ x = y /* 将 y 值赋给 x */ y = temp /* 将 temp 值赋给 y*/ return temp; }
Los siguientes resultados de la ejecución de código:
交换前 a 的值为 : 100 交换前 b 的值为 : 200 交换后 a 的值 : 100 交换后 b 的值 : 200