Idź język wartość transferu wartości funkcji
Przeniesienie oznacza, że podczas wywoływania funkcji skopiować rzeczywistych parametrów przekazywanych do funkcji, tak że jeśli parametry funkcyjne mogą być modyfikowane, nie wpływają na rzeczywiste parametry.
Domyślnie język Go jest przekazywane przez wartość, czyli w trakcie połączenia nie wpłynie na rzeczywiste parametry.
Następujące definicje swap ():
/* 定义相互交换值的函数 */ func swap(x, y int) int { var temp int temp = x /* 保存 x 的值 */ x = y /* 将 y 值赋给 x */ y = temp /* 将 temp 值赋给 y*/ return temp; }
Następnie użyjmy wartości przekazanej do funkcji wywołania wymiany ():
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; }
Poniższe wyniki wykonanie kodu:
交换前 a 的值为 : 100 交换前 b 的值为 : 200 交换后 a 的值 : 100 交换后 b 的值 : 200