Go Sprache Zeiger als Funktionsparameter
Go Sprache ermöglicht einen Zeiger auf eine Funktion zu übergeben, muss Chi zu den Funktionszeigertyp definierten Parameter eingestellt werden.
Das folgende Beispiel zeigt, wie ein Zeiger auf eine Funktion, zu passieren und die Werte in der Funktion nach dem Funktionsaufruf zu ändern:
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 ) /* 调用函数用于交换值 * &a 指向 a 变量的地址 * &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 */ }
Die obigen Beispiele können die Ausgabeergebnisse:
交换前 a 的值 : 100 交换前 b 的值 : 200 交换后 a 的值 : 200 交换后 b 的值 : 100