Pointers 如何更改/访问地图实例';s值通过Go中的映射指针?
假设我们有代码:Pointers 如何更改/访问地图实例';s值通过Go中的映射指针?,pointers,map,go,Pointers,Map,Go,假设我们有代码: var Cache_map *map[string]int Cache_map = new(map[string]int) 然后我们想添加键:type&value1到Cache\u map中,我们该怎么做?在这种情况下,不需要new、make或指向map的指针。骨架/示例: package main import "fmt" var CacheMap = map[string]int{} func main() { CacheMap["type"] =
var Cache_map *map[string]int
Cache_map = new(map[string]int)
然后我们想添加键:
type
&value1
到Cache\u map
中,我们该怎么做?在这种情况下,不需要new
、make
或指向map的指针。骨架/示例:
package main
import "fmt"
var CacheMap = map[string]int{}
func main() {
CacheMap["type"] = 1
fmt.Printf("%#v\n", CacheMap)
}
输出:
map[string]int{"type":1}
map[type:1]
比如说,如果你真的,真的需要这么做
package main
import "fmt"
func main() {
var Cache_map *map[string]int
Cache_map = new(map[string]int)
*Cache_map = make(map[string]int)
(*Cache_map)["type"] = 1
fmt.Println(*Cache_map)
}
输出:
map[string]int{"type":1}
map[type:1]
我只是想知道如何实现这一点?当然,我已经给出了一个非常简单的例子,但在更复杂的情况下可能需要映射指针。@ReckHou:map是一种引用类型。实际上,它已经实现为指向某个运行时数据结构的指针。传递引用(RT数据指针)就足以在程序中的多个位置共享地图。好的,我知道它现在没用了。我不知道为什么人们认为这个问题没用,它在某些情况下可能有用。只是对戈兰的不同看法。