Sprache Go Funktion von Referenzwert übergeben
Übergabe als Referenz bezieht sich auf beim Aufruf der Funktion übergibt die Adresse des aktuellen Parameter an die Funktion, dann ist die Funktion, um die Parameter zu ändern durchgeführt wird, werden die aktuellen Parameter beeinflussen.
Übergeben Sie einen Referenzzeiger Parameter an die Funktion übergeben, wird die folgende Austauschfunktion swap () unter Verwendung von Pass von Referenz:
/* 定义交换值函数*/ func swap(x *int, y *int) { var temp int temp = *x /* 保持 x 地址上的值 */ *x = *y /* 将 y 值赋给 x */ *y = temp /* 将 temp 值赋给 y */ }
Wir gingen durch Verweis durch die folgende Makeln () -Funktion:
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 指向 a 指针,a 变量的地址 * &b 指向 b 指针,b 变量的地址 */ swap(&a, &b) fmt.Printf("交换后,a 的值 : %d\n", a ) fmt.Printf("交换后,b 的值 : %d\n", b ) } func swap(x *int, y *int) { var temp int temp = *x /* 保存 x 地址上的值 */ *x = *y /* 将 y 值赋给 x */ *y = temp /* 将 temp 值赋给 y */ }
Der obige Code wird als Ergebnis der Ausführung:
交换前,a 的值 : 100 交换前,b 的值 : 200 交换后,a 的值 : 200 交换后,b 的值 : 100