指针(pointer)
# 指针(pointer)
指针保存变量地址,&value 取得地址,*pointer 读取或修改指向的值。Go 不支持指针算术。
func increment(value *int) {
if value != nil {
(*value)++
}
}
count := 2
increment(&count)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
需要共享修改、表达可缺省值或避免复制大型结构体时使用指针。小型不可变值直接传值通常更清晰。解引用前应确认指针不为 nil;不要仅为了“性能”把所有参数都改成指针。