我有一个main.go,需要从另一个包中导入 map 变量。
我的anotherfile.go是
package greet
var Selectorslist = make(map[string]string)
Selectorslist["coxxnfirmedCases"] = "dsj"
当我尝试保存此文件时,出现以下错误。
语法错误:函数bodygo之外的非声明语句
为什么会发生此错误?
最佳答案
因为在Go中,任何非声明语句都必须在函数内部。
尝试导入函数,而不是变量:
func GetSelectorsList() map[string]string {
var selectorslist = make(map[string]string)
selectorslist["coxxnfirmedCases"] = "dsj"
return selectorsList
}
func main() {
data := GetSelectorslist()
fmt.Println(data)
}
go playground
如果将名称
Selectorslist
更改为Selectorsmap
可能会更好,因为它实际上是关联容器,而不是顺序容器。或如@mkopriva所说,您可以使用
init()
函数:var SomeData int
func init() {
SomeData = 10
}
func main() {
fmt.Println(SomeData)
}
go playground
关于go - 从go中的另一个文件导入 map 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61042902/