go语言指针
Go语言的取地址符是&,放到一个变量前使用就会返回相应变量的内存地址
package main
import “”fmt“”
func main(){
var a int = 10
fmt.printf("变量的地址:%x/n",&a)
}
变量的地址:20818a220
什么是指针
一个指针变量指向了一个值的内存地址
类似于变量和常量,在使用指针前,你需要声明指针。指针声明格式如下:
var var_name *var-type
var-type为指针类型 var_name为指针变量,*号用于指定变量是作为一个指针,一下是有效的指针声明:
var ip *int /*指向整数*/
var fp *float32 /*指向浮点型*/
如何使用指针
指针使用流程:
定义指针变量
为指针变量赋值
访问指针变量中指向地址的值
在指针类型前面加上*号来获取指针所指向的内容
package main
import “fmt”
func main(){
var a int = 20 /*声明实际变量*/
var ip *int /*声明指针变量*/
ip = &a /*指针变量的存储地址*/
fmt.Printf(“a 变量的地址是:%x\n”,&a)
/*指针变量的存储地址*/
fmt.printf("ip变量存储的指针地址:%x\n",ip)
/*使用指针访问值*/
fmt.printf("*ip变量的值:%d\n",*ip)
}