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