Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在golang中声明包级别的映射?_Go - Fatal编程技术网

是否可以在golang中声明包级别的映射?

是否可以在golang中声明包级别的映射?,go,Go,我想要一张全球地图。我正在尝试以下方法 package main import "fmt" globalMap := make(map[string]string) func main() { globalMap["a"] = "A" fmt.Println(globalMap) } 它在第行globalMap:=make(map[string]string)上给出了以下编译错误: 看着这个错误,我明白它不允许我创建一个全局映射。创建全球地图的最佳方法是什么 谢谢。您不能

我想要一张全球地图。我正在尝试以下方法

package main

import "fmt"

globalMap := make(map[string]string)

func main() {
    globalMap["a"] = "A"
    fmt.Println(globalMap)
}
它在第
行globalMap:=make(map[string]string)
上给出了以下编译错误:

看着这个错误,我明白它不允许我创建一个全局映射。创建全球地图的最佳方法是什么


谢谢。

您不能在函数体之外使用
:=
语法,但可以使用普通变量声明语法:

var globalMap = make(map[string]string)

所有的否决票是怎么回事?有没有解释为什么
:=
只限于职能机构?或者为什么globals必须使用
var
?@ffling这是为了简化解析,这可能会使编译器更快
var globalMap = make(map[string]string)