指针的用法
1 | func main() { |
- 在函数里修改传入的变量值
1 | func changeValue(x *int) { |
- 提高性能(避免大对象复制)
1 | type User struct{ |
- 和结构体方法有关
如果需要修改结构体里的值,方法接收器要用指针
1 | type Counter struct { |
总结
| 用法 | 示例 | 说明 |
|---|---|---|
| 获取地址 | p := &a | 获取变量 a 的地址 |
| 取地址的值 | *p | 获取指针 p 指向的值 |
| 修改值 | *p = 123 | 通过指针修改原变量 |
| 函数传指针 | func f(p *int) | 在函数中修改外部变量 |
| Gin 指针用法 | func(c *gin.Context) | 操作请求上下文必须用指针 |