Go指针
变量是一种方便使用的占位符,用于引用计算机内存地址.
Go语言的取指符&
放到一个变量前使用,就会返回相应的变量的内存地址
package main
import "fmt"
func main(){
var a int = 10
fmt.Println("变量的地址 :%x\n",&a)
}
指针
一个指针变量可以指向任何一个值的内存地址它指向那个值的内存地址.
指针的声明格式
var pointer_name *pointer_type
var ip *int /* 指向整数*/
var ip *float32 /* 指向浮点型 */
指针使用流程:
- 定义指针变量
- 为指针变量赋值
- 访问指针变量中指向地址的值
在指针类型前面加*
号(前缀)来获取指针所指向的内容.
package main
import "fmt"
func main{
var a int = 10
var ip *int
ip = &a
fmt.Println("a的地址变量:%x\n",&a)
fmt.Println("ip变量存储的地址:%x\n", ip)
fmt.Println("*ip变量的值:%d\n", *ip)
}
Go 空指针
当一个指针被定义之后没有分配到任何变量时,它的值为nil
nil指针也称为空指针.
nil在概念上和其他语言中的null , None, nil, NULL一样, 都指代零值或空值.
一个指针变量通常缩写为ptr
Go 指针
内容 | 描述 |
---|---|
指针数组 | Go允许定义一个指针数组来存储地址 |
指向指针的指针 | Go支持指向指针的指针 |
指针参数 | 通过引用或地址传惨,在函数调用时可以改变其值 |