如何在golang中的所有包中访问全局变量
发布时间:2020-12-16 19:22:17 所属栏目:大数据 来源:网络整理
导读:我有一个main.go文件,其中包含: // running the router in port 9000func main() { router,Global := routers.InitApp() fmt.println(Global) router.RunTLS(":9000","domain.crt","domain.key")} 在router.InitMap中我想声明一个全局变量,可以在我的应用程
我有一个main.go文件,其中包含:
// running the router in port 9000 func main() { router,Global := routers.InitApp() fmt.println(Global) router.RunTLS(":9000","domain.crt","domain.key") } 在router.InitMap中我想声明一个全局变量,可以在我的应用程序的任何地方访问它.有可能吗?我试过了 func InitApp() (*gin.Engine,string) { var Global= "myvalue" router := gin.New() return router,Global } 但我可以在相同的包中访问变量Global.
在顶层声明一个变量 – 在任何函数之外:
var Global = "myvalue" func InitApp() (string) { var Global= "myvalue" return Global } 由于变量的名称以大写字母开头,因此变量将通过其名称在当前包中可用 – 并且在导入定义变量的包时在任何其他包中可用,并使用包名称限定它:return packagename.Global. 这是另一个例子(也在Go游乐场:https://play.golang.org/p/h2iVjM6Fpk): package main import ( "fmt" ) var greeting = "Hello,world!" func main() { fmt.Println(greeting) } 另见Go Tour:“Variables”https://tour.golang.org/basics/8和“Exported names”https://tour.golang.org/basics/3. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |