Golang教程-Go指针

Go指针
指针是存储另一个变量的地址的变量。指针变量的一般形式为:
var var_name *var-type
一个新声明的指针变量,如果没有被赋值给其他变量,它的值为nil。
取地址运算符&,当放置在变量前面时,可以获取该变量的内存地址。
通过使用指针,我们可以传递变量的引用(例如,作为函数的参数),而不是传递变量的副本,从而减少内存使用量并提高效率。
Go指针示例1
package main
import (
"fmt"
)
func main() {
x:=10
changeX(&x)
fmt.Println(x)
}
func changeX(x *int){
*x=0
}
输出:
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
}
输出:
goCopy code
var ptr *int
if ptr == nil {
fmt.Println("Pointer is nil")
} else {
fmt.Println("Pointer is not nil")
}
输出: