前言
区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。
什么是指针
不管是Python还是Go程序 执行过程中数据载入内存后,在计算机内存中都有它们的内地址,这就是指针。
指针的作用就是保存某1个数据在内存中的内存地址,方便我们在内存中快速查找到该数据(变量)。
在Go语言中的值类型(int、float、bool、string、array、struct)都有对应的指针类型,如:*int
、*int64
、*string
等。
指针操作
package main import "fmt" func main() { //基本数据类型在内存中的布局 var i int = 10 //获取变量i的内存地址 fmt.Println("变量i的内存地址:", &i) //声明1个 ptr指针变量,指向1个类型为int的内存地址 var ptr *int = &i fmt.Println(ptr) //获取指针的内存地址 fmt.Println(&ptr) //通过指针获取变量i对应的值(10) fmt.Println(*ptr) //通过指针修改变量i对应的值 *ptr = 222 fmt.Println(i) //通过指针修改变量的值 name := "成龙" age := "18" por1 := &name *por1 = "JackCheng" por1 = &age *por1 = "68" fmt.Println(name, age) }
来源:https://www.cnblogs.com/sss4/p/12586637.html