登录
首页 >  Golang >  Go问答

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

来源:Golang技术栈

时间:2023-03-20 20:42:07 420浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《如何在所有包中访问全局变量》,文章讲解的知识点主要包括golang,如果你对Golang方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

问题内容

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

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如何在所有包中访问全局变量》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表