go - 从go中的另一个文件导入 map 变量

标签 go import

我有一个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/

相关文章:

javascript - 通过脚本将特定文件格式从文件夹导入 Illustrator

go - 域和数据库之间的映射

go - Ginkgo 跳过规范算作失败

mysql 通过 cli 从远程服务器导入 sql

git - 如何将 72GB 的转储文件导入 git?

powershell - 从目录导入 PowerShell 脚本或模块

java - 为什么我能够重写 java.sql.Connection 中的某些方法而不是其他方法

go - vim-go 完成更新后停止工作

戈朗 : odd big Int behavior

javascript - http.FileServer 响应错误 mime "Content-Type"