栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Golang中“ *”和“&”的含义是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Golang中“ *”和“&”的含义是什么?

您的问题与给出的示例不太吻合,但我会尽量简单明了。

假设我们有一个名为的变量

a
,它保存整数5,而另一个名为的变量将
p
是指针。这是
*
&
进入游戏的地方。

与它们一起打印变量可以产生不同的输出,因此这完全取决于情况和使用情况。使用

*
&
可以节省您的代码行( 在小型项目中并不重要
),并使您的代码更美观/可读性更高。

&
返回以下变量的 内存地址

*
返回以下变量的 (该变量 保存变量的内存地址,除非您要获取奇怪的输出,否则可能会因为访问计算机的RAM而出现问题)

var a = 5var p = &a // p holds variable a's memory addressfmt.Printf("Address of var a: %pn", p)fmt.Printf("Value of var a: %vn", *p)// Let's change a value (using the initial variable or the pointer)*p = 3 // using pointera = 3 // using initial varfmt.Printf("Address of var a: %pn", p)fmt.Printf("Value of var a: %vn", *p)

总而言之,在使用和&时,请记住是用于设置您要指向的变量的值,而&是您要/想要指向的变量的地址。

希望这个答案有帮助。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406469.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号