为了账号安全,请及时绑定邮箱和手机立即绑定

在 Go 中启动应用程序时如何创建全局变量?

在 Go 中启动应用程序时如何创建全局变量?

Go
慕运维8079593 2022-11-08 15:23:39
所有读者的美好一天!我有 api 服务,它需要一些解密问题的密钥。当我提出请求时,密钥一直在计算。从架构的角度来看,这是错误的。环境选项(.env、viper...)下降了,因为将来我想将此模块带到一个单独的库中。提示我,如何在启动应用程序时不使用环境来计算密钥并使用它直到停止应用程序?
查看完整描述

2 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

全局变量以大写字母开头,因此可以从其他包中访问。

但是......这实际上是不好的行为,因为那些其他包可以改变它。

有一个非大写的,仍然意味着同一个包中的函数可以改变它。

也许你可以使用一个常数?
或制作一个单例变量,请参阅:

https://goplay.tools/snippet/9k7FLYbbvoo


查看完整回答
反对 回复 2022-11-08
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

如果你确定你需要一个全局变量,你可以这样做:


package main


var globalVar string = "My string"


func init(){

    globalVar = "The new value of the variable"

}


func main(){

    println(globalVar)

}


查看完整回答
反对 回复 2022-11-08
  • 2 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信