2.Go 的指针

  1. 变量内存地址
var age = 18
// & + 变量 = 变量内存地址
fmt.Println("age:",&age)
  1. 指针变量
// 定义一个指针变量 *int:指向int类型的指针
var ptr *int = &age
fmt.Println("值:",ptr,"内存地址:",&ptr ,"内存地址指向的值:",*ptr)
  1. 指针的四个使用细节
    • 可以通过指针改变指向值
      // 通过指针改变值
      *ptr = 10
      fmt.Println("值:",ptr,"内存地址:",&ptr ,"内存地址指向的值:",*ptr)
      
    • 指针变量接收到的一定是地址值
      image
    • 指针变量的地址不可以不匹配
      image
    • 基本数据类型(又叫值类型),都有对应的指针类型,形式为 *数据类型;比如 int 对应的指针就是 *int类型 ,float32对应的指针类型就是*float
原文地址:https://www.cnblogs.com/bigroc/p/15255229.html