2.Go 的指针

Go的指针

1. 变量内存地址

var age = 18
// & + 变量 = 变量内存地址
fmt.Println("age:",&age)

2. 指针变量

// 定义一个指针变量 *int:指向int类型的指针
var ptr *int = &age
fmt.Println("值:",ptr,"内存地址:",&ptr ,"内存地址指向的值:",*ptr)

3. 指针的四个使用细节

  1. 可以通过指针改变指向值

    // 通过指针改变值
    *ptr = 10
    fmt.Println("值:",ptr,"内存地址:",&ptr ,"内存地址指向的值:",*ptr)
    
  2. 指针变量接收到的一定是地址值

    image

  3. 指针变量的地址不可以不匹配

    image

  4. 基本数据类型(又叫值类型),都有对应的指针类型,形式为 *数据类型;比如 int 对应的指针就是 *int类型 ,float32对应的指针类型就是*float

posted @ 2021-09-11 14:46  bigroc  阅读(35)  评论(0编辑  收藏  举报