指针
目录
Go语言中也有指针,指针这个词其实用得不好,让人感觉他是指来指去的,反而让人迷糊搞不清楚。不如我们以后碰到 “指针” 这个词语, 就自动把它在脑子里替换成 “地址” 吧。接下来我们开始讲解。首先我们看一个例子:
请读者自动在脑子里替换为地址。
package main
import (
"fmt"
)
func main() {
var x = 1
var px *int = &x
fmt.Printf("%T, %T\n", x, px)
}
首先,指针本身并不是什么奇怪的东西,只是表示上与众不同。例如 *int
是表示 int
型的指针,实际上,有 *int
类型的变量,
不过就是一个普通变量而已,他存储了一个 int
变量的地址罢了。
Go语言中由于不能对指针进行指针运算,所以指针的内容也就只有这些了:
*int
表示int
型的指针,也就是说上面的px
这个变量,存储的是一个内存地址,而所存储的内存地址所在的那个变量,存储的是一个int
&x
表示取x
的内存地址
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- 用peewee代替SQLAlchemy
- frp 源码阅读与分析(一):流程和概念
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(一):runc和containerd
- Docker组件介绍(二):shim, docker-init和docker-proxy
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程