深入理解Go系列一之指针变量
2024-09-07 03:39:25
指针变量
基本概念
- &a,
代表 a 变量的内存地址
- p,
代表一个句柄引用(句柄由实例数据指针与实例类型指针两部分组成)
,句柄的好处是,当实例数据值改变时,不需要改动实例数据指针与实例类型指针的引用 - *p,
代表句柄引用中,指向实例数据的指针(引用)
- *type,
代表实例类型指针,一般声明一个指针变量后就不会改动类型
- &a,
指针内存布局分析
代码示例
package main
import "fmt"
func main() {
/*[01] 指针地址声明;
并将a变量内存地址作为p 句柄引用 */
var a = 100
var p *int = &a
fmt.Println(a) //100
fmt.Println(p) //0xc000126010
/*[02] 更改指针实例数据的值
句柄引用不变*/
*p = 200
fmt.Println(a) //200
fmt.Println(p) //0xc000126010
/*[03] 实例数据赋值给新变量b;
实例数据指针赋值给新变量c;*/
b := a
c := *p
fmt.Println(p) //0xc000126010
fmt.Println(&b) //0xc000126030
fmt.Println(&c) //0xc000126038
}
最新文章
- ASP.NET MVC - 创建Internet 应用程序
- POJ 3278 Catch That Cow
- mysql基本sql语句大全(基础用语篇)
- SQLite数据库入门教程
- Mysql事务,并发问题,锁机制-- 幻读、不可重复读(转)
- 异步执行Dos命令
- 在 JavaScript 中使用构造器函数模拟类
- URL中包含url参数,(文件路径作为参数)
- python视频学习笔记2(if)
- git 常用命令收集
- 深度学习中 batchnorm 层是咋回事?
- Linux常用命令之定时任务
- Java多线程编程——并发编程原理(分布式环境中并发问题)
- 【laravel5.6】laravel 自定义公共函数
- C# Random循环生成随机数重复问题解决方案
- L2-025 分而治之(图)
- iOS中文本属性Attributes
- Hadoop(23)-Yarn资源调度器
- Cesium 事件
- IOS开发学习笔记035-UIScrollView-自动滚动