加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读