Go 指针
Go 指针
指针是一个变量,它存储另一个变量的地址。指针变量声明的一般形式是:
未分配给变量的新声明指针的值为 nil。
地址运算符 & 放置在变量之前时为我们提供了变量的内存地址。
使用指针,我们可以传递对变量的引用(例如,作为函数的参数),而不是传递变量的副本,这样可以减少内存使用并提高效率。
Go 指针示例 1
package main
import (
"fmt"
)
func main() {
x:=10
changeX(&x)
fmt.Println(x)
}
func changeX(x *int){
*x=0
}
输出:
Go 指针示例 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
}
输出:
Before change ptr 0
After change ptr 10