1. 普通类型,变量存的就是值,也叫值类型
2. 获取变量的地址,用&,比如: var a int, 获取a的地址:&a
3. 指针类型,变量存的是一个地址,这个地址存的才是值
4. 获取指针类型所指向的值,使用:*,比如:var *p int, 使用*p获取p指向的值
// 写一个程序, 获取一个变量的地址,并打印到终端 package main import "fmt" func main(){ var s int = 10 fmt.Println(&s) }
// 写一个函数, 传入一个int类型的指针, 并在函数中修改所指向的值. // 在main函数中调用这个函数, 并把修改前后的值打印到终端, 观察结果. package main import "fmt" func text(p *int){ fmt.Println(p) // 打印的是地址 *p = 999 } func main(){ var a int = 10 var p *int p = &a fmt.Println(*p) *p = 100 fmt.Println(a) text(&a) fmt.Println(a) // a 变成了 999 }