Go语言的是C语言简化版的指针,区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。
    任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量
    取地址操作符&和取值操作符是一对互补操作符,&取出地址,根据地址取出地址指向的值

    1. func main() {
    2. //指针取值
    3. a := 8 //将8这个值复制给a,8存储的内存地址是0x0001a078,0x0001a078 就是一个指针变量
    4. b := &a // 取变量a的地址,将指针保存到b中(将a的内存地址作为值赋值给b)
    5. fmt.Printf("type of b:%T\n", b)
    6. c := *b // 指针取值(根据指针去内存取值, 把b的值当作内存地址去访问)
    7. fmt.Printf("type of c:%T\n", c)
    8. fmt.Printf("value of c:%v\n", c)
    9. }

    image.png