登录
首页 >  Golang >  Go问答

Go 的指针何时取消引用自身

来源:Golang技术栈

时间:2023-04-16 13:01:56 477浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《Go 的指针何时取消引用自身》,就坚持看下去吧!文中内容包含golang等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我最近才开始深入研究 Go,我有一个主要的困惑:我很难理解什么时候需要明确地取消引用指针。

例如,我知道.操作员将处理取消引用指针

ptr := new(SomeStruct)
ptr.Field = "foo" //Automatically dereferences

在其他哪些情况下会这样做?例如,它似乎与数组。

ptr := new([5][5]int)
ptr[0][0] = 1

我在规范中找不到这个,指针部分很短,甚至没有涉及取消引用。对取消引用 go 指针的规则进行任何澄清都会很棒!

正确答案

选择器表达式(例如x.f)这样做:

选择器会 自动取消引用指向 结构的指针。Ifx是指向结构的指针, x.y是 ; 的简写(*x).y。如果该字段y也是指向结构的指针,x.y.z则为 的简写(*(*x).y).z,依此类推。如果x包含类型的匿名字段*A,其中 A也是结构类型,x.f是 的快捷方式(*x.A).f

索引操作的定义指定了一个数组指针可以被索引:

对于一个类型A或者*AwhereA是一个数组类型,或者对于一个类型SwhereS是一个切片类型

好了,本文到此结束,带大家了解了《Go 的指针何时取消引用自身》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表