我有一个 main.go 文件,其中包含:
// running the router in port 9000
func main() {
router,Global := routers.InitApp()
fmt.println(Global)
router.RunTLS(":9000" , "domain.crt" , "domain.key")
}
In 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 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/8和“导出的名称”https://tour.golang.org/basics/3 https://tour.golang.org/basics/3.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)