6.8 指针

本篇学习 Go 指针的基本概念与操作符,并能通过指针读取和修改变量值。

字数 283 字

指针

概念说明

指针保存的是“变量的内存地址”。
通过指针可以间接访问或修改该地址对应的值。
在 Go 中,指针常用于函数参数修改外部变量、减少大对象拷贝等场景。

语法/规则

  1. & 表示取地址,例如 p := &num
  2. * 有两种用法:声明指针类型(*int)和解引用取值(*p)。
  3. 指针变量必须指向合法地址后再解引用。
  4. nil 指针解引用会触发运行时 panic。

指针读写示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
package main

import "fmt"

func main() {
	num := 10
	p := &num

	fmt.Println(*p)

	*p = 20
	fmt.Println(num)
}

输出结果:

1
2
10
20

常见错误

  1. &* 的含义写反,导致读写逻辑错误。
  2. 指针未初始化就解引用,触发运行时错误。
  3. 误以为指针是“引用类型”本身,忽略了传参时仍然是值拷贝。
使用 Hugo 构建
主题 StackJimmy 设计 由 Hobin 魔改
载入天数...载入时分秒...
发表了 0 篇文章 · 发表了 46 篇笔记 · 总计 2 万 5 千字(其中笔记 25104 字)