如何在所有包中访问全局变量

我有一个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:“变量”

https://tour.golang.org/basics/8和“导出的名称”

https://tour.golang.org/basics/3。

以上是 如何在所有包中访问全局变量 的全部内容, 来源链接: utcz.com/qa/415160.html

回到顶部