Go语言的是C语言简化版的指针,区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。
任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量
取地址操作符&和取值操作符是一对互补操作符,&取出地址,根据地址取出地址指向的值
func main() {
//指针取值
a := 8 //将8这个值复制给a,8存储的内存地址是0x0001a078,0x0001a078 就是一个指针变量
b := &a // 取变量a的地址,将指针保存到b中(将a的内存地址作为值赋值给b)
fmt.Printf("type of b:%T\n", b)
c := *b // 指针取值(根据指针去内存取值, 把b的值当作内存地址去访问)
fmt.Printf("type of c:%T\n", c)
fmt.Printf("value of c:%v\n", c)
}