是否可以在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)