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

所有读者的美好一天!

我有 api 服务,它需要一些解密问题的密钥。当我提出请求时,密钥一直在计算。从架构的角度来看,这是错误的。

环境选项(.env、viper...)下降了,因为将来我想将此模块带到一个单独的库中。

提示我,如何在启动应用程序时不使用环境来计算密钥并使用它直到停止应用程序?


慕运维8079593
浏览 82回答 2
2回答

犯罪嫌疑人X

全局变量以大写字母开头,因此可以从其他包中访问。但是......这实际上是不好的行为,因为那些其他包可以改变它。有一个非大写的,仍然意味着同一个包中的函数可以改变它。也许你可以使用一个常数?或制作一个单例变量,请参阅:https://goplay.tools/snippet/9k7FLYbbvoo

慕莱坞森

如果你确定你需要一个全局变量,你可以这样做:package mainvar globalVar string = "My string"func init(){    globalVar = "The new value of the variable"}func main(){    println(globalVar)}
打开App,查看更多内容
随时随地看视频慕课网APP