指向地图的指针

将一些地图定义为:


var valueToSomeType = map[uint8]someType{...}

var nameToSomeType = map[string]someType{...}

我想要一个指向地图地址的变量(不要复制所有变量)。我尝试使用:


valueTo := &valueToSomeType

nameTo := &nameToSomeType

但在使用时valueTo[number],它显示

内部编译器错误:无类型的var,初始化:new


如何获得?


编辑


该错误是由另一个问题显示的。


守着星空守着你
浏览 259回答 3
3回答

动漫人物

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

SMILET

更具体地说,根据Golang规范:切片,地图和通道是引用类型,不需要使用进行额外的间接分配new。内置函数make采用一个type T,该类型必须是slice,map或channel类型,还可以选择后面是特定于类型的表达式列表。它返回一个类型为T(not*T)的值。存储器按照有关初始值的部分中的说明进行初始化但是,对于函数调用,参数按值传递(始终)。除了map参数的值是指针。
打开App,查看更多内容
随时随地看视频慕课网APP