博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GoLand中的指针操作 * 和 &
阅读量:7118 次
发布时间:2019-06-28

本文共 504 字,大约阅读时间需要 1 分钟。

&和*这可能是Go中最令人困惑的事情之一。基本上你需要了解3个案例:

&操作符

var str string ="123"//打印str变量的内存地址ftm.Println(&str)

获取变量内存地址,需要把 & 放到变量前面

*操作符

myString := "Hi"fmt.Println(*&myString)  // prints "Hi"

或者

myStructPointer = &myStruct// ...(*myStructPointer).someAttribute = "New Value"* 在一个类型前面

*操作符是访问指针变量中指向地址的值。在上面两段代码中,&myStruct是获取myStruct的内存地址,而我们需要解析内存地址获取对应值时候需要用到*,所以&*是相对应的。

*操作符操作类型时

var str *string /* 声明string指针类型的变量 */

*放在类型前面时,例如*string,它成为类型声明的一部分,因此您可以说声明了一个string类型指针类型的变量

所以令人困惑的是,*真正被用于2个独立的事物。*可以是操作变量或类型的一部分。

转载地址:http://fkbel.baihongyu.com/

你可能感兴趣的文章
机器学习之分类结果的评价
查看>>
理解五个基本概念,让你更像机器学习专家
查看>>
你应该知道的数据库数据类型及其设计原则
查看>>
解决vue报错Failed to mount component
查看>>
[LeetCode] 124. Binary Tree Maximum Path Sum
查看>>
活学活用! 用Local Storage实现多人聊天室
查看>>
一次爬虫实践记录
查看>>
炫酷粒子表白,双十一脱单靠它了!
查看>>
mysql锁以及实践总结
查看>>
react 移动端 兼容性问题和一些小细节
查看>>
HTTP 详解(一)
查看>>
【刷算法】LeetCode.155-最小栈
查看>>
Apache Trafodion技术架构介绍
查看>>
【工具】MongoDB 与可视化工具 adminMongo 的安装、启动与连接
查看>>
Javascript--常用方法
查看>>
Swoft之服务注册发现Consul服务器配置
查看>>
[译]迁移到新的 React Context Api
查看>>
IM 推送保障及网络优化详解(二):如何做长连接加推送组合方案
查看>>
webpack4 踩坑记
查看>>
线程池你真不来了解一下吗?
查看>>