go学习笔记
基础
go 定义变量的几种方式
常量的声明
go基本数据类型
go语言中的流程控制
golang中的数组
切片
golang中的map 详解
golang 函数详解
内置函数 panic/recover
golang time包 以及日志函数
golang中的指针
golang 中的结构体
Golang 结构体 和 json互相转换 序列化 反序列化
Golang 中的 go mod 以及 Golang包 详解
golang 中的接口
golang goroutine channel 实现并发 和 并行
channel
goroutine 互斥锁 读写互斥锁
golang 反射
golang 标准库
io
strconv
工具 + blog
进程 线程 协程
空接口 类型断言
为Go项目编写Makefile
减小 Go 代码编译后的二进制体积
go windows下编译linux可执行文件
本文档使用 MrDoc 发布
-
+
首页
golang中的指针
## 关于指针 **指针**也是一个变量,但它是一个特殊的变量,它存储的数据不是一个普通的值,而是另一个变量的内存地址。 ![](/media/202208/2022-08-05_123935_9815930.8397044618092884.png) ``` func main() { var a int = 20 var b *int = &a fmt.Printf("b: %v\n", b) fmt.Printf("&a %v", &a) } /* b: 0xc0000120a8 &a 0xc0000120a8 */ ``` ## 指针地址和指针类型 Go语言中使用&字符放在变量前面对比变量进行**取地址**操作。Go语言中的值类型(int,float,bool,string,array,struct)都有对应的指针类型。 ![](/media/202208/2022-08-05_125033_6605050.9104769016571231.png) &b 也有自己对应的内存地址 ## 指针取值 ``` func main() { var a int = 20 var b *int = &a fmt.Printf("b: %v\n", b) fmt.Printf("&a %v \n", &a) fmt.Printf("b: %v\n", *b) } ``` ## make 和 new ### new 函数分配内存 new 是一个内置的函数 ``` func new(Type) *Type ``` 其中: * Type 表示类型,new函数只接受一个参数,这个参数是一个类型 * *Type表示类型指针,new函数返回一个指向该类型内存地址的指针。
admin
2022年8月5日 14:32
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码