指针
- Go语言虽然保留了指针,但与其他语言不同的是,在Go当中不支持指针运算以及
->
运算符,而直接采用.
操作符来操作指针目标对象的成员 - 操作符
&
取变量地址,使用*
通过指针间接访问目标对象,&a
->变量a的指针(取地址符是&,放到一个变量前就会返回相应变量的内存地址) - 默认值为nil而非NULL
类似于变量和常量,在使用指针前需要声明指针。声明指针 ->
var var_name *var-type // type为指针类型,name为指针变量名,*号用于指定变量名是作为一个指针 var ip *int //指向整型 var fp *float32 //指向浮点型
指针如何使用 ->
1. 定义指针变量 2. 为指针变量赋值 3. 访问指针变量中指向地址的值
在指针类型前面加上*号(前缀)来获取指针所指向的内容
var a int = 20 var ip *int //指针变量的存储地址 ip = &a fmt.Println("变量的地址是:",ip) fmt.Println("使用指针访问值",*ip)
- 空指针 -> 当一个指针被定义后没有分配到任何变量时,它的值为nil,也称为空指针。一个指针变量通常缩写成ptr