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

指向地图的指针

指向地图的指针

Go
守着星空守着你 2021-04-01 16:09:55
将一些地图定义为:var valueToSomeType = map[uint8]someType{...}var nameToSomeType = map[string]someType{...}我想要一个指向地图地址的变量(不要复制所有变量)。我尝试使用:valueTo := &valueToSomeTypenameTo := &nameToSomeType但在使用时valueTo[number],它显示内部编译器错误:无类型的var,初始化:new如何获得?编辑该错误是由另一个问题显示的。
查看完整描述

3 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

映射是引用类型,因此它们总是通过引用传递。您不需要指针。转到文档


查看完整回答
反对 回复 2021-04-26
?
SMILET

TA贡献1796条经验 获得超4个赞

更具体地说,根据Golang规范

切片,地图和通道是引用类型,不需要使用进行额外的间接分配new
内置函数make采用一个type T,该类型必须是slice,map或channel类型,还可以选择后面是特定于类型的表达式列表。
它返回一个类型为Tnot*T)的值。
存储器按照有关初始值的部分中的说明进行初始化

但是,对于函数调用,参数按值传递(始终)。
除了map参数的值是指针。


查看完整回答
反对 回复 2021-04-26
  • 3 回答
  • 0 关注
  • 274 浏览
慕课专栏
更多

添加回答

举报

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