1. 章节简介
- 每个变量都存储在内存中,有一个 地址。
- 使用
&
获取变量地址,用*
获取指针指向的值。
2. 知识点讲解
-
取地址:
&变量
-
取值:
*指针
- 指针保存变量地址,而不是变量值本身。
3. 代码示例
package main
import "fmt"
func main() {
a := 10
fmt.Println("a 的值:", a)
fmt.Println("a 的地址:", &a) // &a 获取 a 的地址
var p *int // 声明一个指针变量
p = &a // p 指向 a 的地址
fmt.Println("指针 p:", p)
fmt.Println("指针指向的值:", *p) // *p 获取 a 的值
}
4. 练习任务
- 声明一个变量
num := 42
,打印它的值和地址。 - 声明指针
p
指向num
,打印指针和解引用值。
5. 小结
-
&
获取地址,*
获取指针指向的值。 - 指针是 Go 中管理内存的基本工具,理解指针很重要。