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
}

输出:

Before change ptr 0
After change ptr 10
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?