首页 > 技术分享 > Golang
收藏

Golang指针类型

12/13 10:03
大潇博客 原创文章,转载请标明出处

Golang指针说明:

每种值类型,都有对应的指针类型,形式为 *数据类型,比如int对应的指针就是*int,float32对应的指针就是*float32,以此类推。

值类型包括:基本数据类型int系列、float系列、bool、string、数组和结构体struct。


在Golang中,获取变量的地址,用&,比如声明一个整型变量,输出它的地址:

var num int

fmt.Println(&num) //获取num的地址


指针变量存的是一个地址,这个地址指向的空间存的才是值,演示声明一个指针变量

var num int 

var ptr *int = &num


获取指针类型所指向的值,使用:*,比如:

var num int = 10

var ptr *int = &num

fmt.Println(*ptr) //使用*ptr获取ptr指向的值


实际演示案例:


通过指针变量修改所指向的值

var num int = 10

var ptr *int = &num

*ptr = 20 //这里修改时,会看到num的值变化

fmt.Println(num)  //20

案例演示


值类型和引用类型的使用特点

值类型:变量直接存储值,内存通常在栈中分配

引用类型:变量存储的是一个地址,这个地址对应的空间才真正存储数据,内存通常在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收。


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311