为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
江户川乱折腾 2021-05-14 15:28:46
我最近才刚开始涉足Go语言,我有一个主要的困惑点:我在努力理解何时确切需要显式取消引用指针。例如,我知道.运算符将处理对指针的解引用ptr := new(SomeStruct) ptr.Field = "foo" //Automatically dereferences在其他哪些情况下会这样做?似乎,例如,与数组。ptr := new([5][5]int) ptr[0][0] = 1我在规范中找不到此内容,指针部分很短,甚至没有提到取消引用。任何对取消引用go的指针的规则的澄清都将是很棒的!
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

所述选择器表达式(例如x.f)这是否:

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

索引操作的定义指定可以对数组指针进行索引:

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


查看完整回答
反对 回复 2021-05-24
  • 1 回答
  • 0 关注
  • 230 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信