1.7.1基本介绍
1、基本数据类型,变量存的就是值,也叫值类型
2、获取变量的地址,用&,比如:var num int,获取num的地址:&num
3、指针类型,指针变量存放的是一个地址,这个地址指向的空间存的才是真正的值
比如:var ptr *int = &num
举例说明:指针在内存的布局
4、获取指针类型指向的值,使用*,比如 : var ptr *int
使用*str 获取ptr 指向的值
5、演示分析说明
var num int = 1
var i = 999
var ptr *int = &i
6、案例演示
1、写一个程序,获取一个int变量的地址,并显示在终端
2、将num的地址赋值给指针ptr,并通过指针变量去修改num的值
7、指针的使用细节及总结
1、值类型,都有对应的指针类型,形式为*数据类型,比如int对应的指针就是 *int,float32
对应的指针就是*float32,以此类推。
2、值类型包括:基本数据类型 int系列,float系列,bool,string、数据和结构体
3、引用类型:指针、slice切片、map、管道chan、interface等都是引用类型
指针快速入门总结:
package main
import "fmt"
func main() {
//定义变量n,初始化为10
var n = 10
//将n变量的值输出
fmt.Println(n)
//定义一个指针变量ptr 类型为int
var ptr *int
//将n变量的地址交给ptr指针变量
ptr = &n
//*访问ptr指针变量存放的n变量地址对应的值,并对值进行操作
*ptr = 100
//将变量n的值打印出来
fmt.Println(n)
}