Go使用指针

指针是一个变量, 用于存储另一个变量的地址。指针变量声明的一般形式为:

var var_name *var-type

尚未分配给变量的新声明的指针的值为nil。
地址运算符&, 当放置在变量之前时, 会为我们提供该变量的内存地址。
使用指针, 我们可以传递对变量的引用(例如, 作为函数的参数), 而不是传递变量的副本, 这样可以减少内存使用并提高效率。
转到指针示例1
package main import ( "fmt" ) func main() { x:=10 changeX(& x) fmt.Println(x) } func changeX(x *int){ *x=0 }

输出:
x = 0

转到指针示例2
package main import ( "fmt" ) func main() { ptr := new(int) fmt.Println("Before change ptr", *ptr) changePtr(ptr) fmt.Println("After change ptr", *ptr) } func changePtr(ptr *int){ *ptr = 10 }

【Go使用指针】输出:
Before change ptr 0 After change ptr 10

    推荐阅读